I Tabelle als Beiträge genannt habeMysql wählen einzigartiges Feld aus einer groupped Tabelle
|id|user_id|title|description|
Tabelle mag wie dies
|id|user_id|post_id|
hier ist mein SQL-Code
select count(likes.id) as like_count, posts.* from `posts` left join
`likes` on `likes`.`post_id` = `posts`.`id` where `posts`.`status` = 'A'
group by `posts`.`id` order by `like_count` desc LIMIT 6
Hier ist die Ergebnis
|like_count | id | user_id | title | description |
---------------------------------------------------
17 | 723 | 12 | ... | .... |
15 | 721 | 15 | ... | .... |
14 | 711 | 12 | ... | .... |
13 | 700 | 12 | ... | .... |
12 | 800 | 11 | ... | .... |
12 | 920 | 12 | ... | .... |
Wie Sie sehen, Benutzer-ID 12 wiederholt sich, möchte ich nur einen Beitrag von einem Benutzer.
Gibt es eine Möglichkeit, die am meisten gemachte Post jedes Benutzers auszuwählen und user_id nicht zu wiederholen.
ich Sie nicht downvote, aber Ihr Schema erfordert weitere Erklärung. Die 'posts'-Tabelle bezieht Benutzer auf Posts, und' likes' macht dasselbe. Was war deine Absicht, als du die Tische entworfen hast? –
@TimBiegeleisen die user_id auf Posts ist wahrscheinlich der Benutzer, der es erstellt hat, und die Benutzer_id auf Likes-Tabelle ist der Benutzer, der es mochte. Ich denke nicht, dass da etwas verrücktes ist. –
@DavidAllen Fühlen Sie sich frei, eine Antwort zu geben, aber bereit sein, ein paar Mal (oder mehr) zu iterieren. –