Ich habe soziale Anwendung sagen wir wie Twitter, wo Benutzer anderen Benutzern folgen kann und mag einige Bemerkungen.Follower eines Benutzers und IDs der letzten 2 Kommentare von jedem Follower (falls vorhanden), auch die Anzahl der Anhänger Follower, mit mysql
Was ich abrufen muss, ist Anhänger eines Benutzers und IDs der letzten 2 Kommentare von jedem Follower (falls vorhanden), auch die Anzahl der Follower Anhänger, mit MySQL.
Hier sind die Tabellen
Tabelle user_follower
User_id follower_id
1 2
2 3
1 5
1 6
1 7
Tabelle user_likes
comment_id User_id date
41 2 some_date
42 2 some_date
41 5 some_date
42 5 some_date
43 5 some_date
43 2 some_date
43 6 some_date
wie können wir tun dies in einer einzigen mysql query?
so weit ich bin in der Lage, die Follower und die Anzahl der Follower Follower und folgen beide zu bekommen.
select uf.follower_id,
(select count(*) from user_followers uf1 where uf1.follower_id = uf.follower_id) as following_count,
(select count(*) from user_followers uf2 where uf2.user_id = uf.follower_id) as follower_count,
from user_followers uf
join users u on u.id = uf.follower_id
where uf.user_id = 1
, was ich will, ist nun die 2 neuesten comment_ids für jeden Follower zu erhalten, das heißt uf.follower_id hier. wenn nicht möglich, in derselben Abfrage, ich bin in Ordnung, auch mit einer anderen Abfrage, wie die follower_ids wie in Parametern übergeben, aber es soll mir 2 neuesten Kommentar gibt für jede übergeben id ..
Erster Eindruck: WOW! –
Joe Celkos exzellentes Buch * SQL For Smarties * ist voll von Beispielen für SQL, um so etwas zu tun. –
kann das Buch jetzt nicht kaufen. – asm234