DOgi DOgi 26.05.2012, 16:49:35 3 + Mam problem z sql'em z system prywatnych wiadomości... Może ktoś pomóc?tabela "threads":id | threadid | timeOfLastMessage (w int)tabela "messages":threadid | message | createdPytanie brzmi: jak otrzymać po jednej, najnowoszej wiadomości z każdego wątku (wg "created") w kolejności od najnowszego wątku wg "timeOfLastMessage"?#mysql
WebnetMobile WebnetMobile 26.05.2012, 16:57:30 0 + @DOgi: najprosciej popraw strukture tabeli. skoro w threads trzymasz timeoflastmessage to dlaczego nie trzymasz lastmessageId? bez sensu :)
DOgi DOgi 26.05.2012, 17:03:22 0 + @WebnetMobile: bałem się utraty wydajności. To "timeOfLastMessage" też bym najchętniej wyrzucił...
DOgi DOgi 26.05.2012, 17:07:33 0 + @Polonistyk: jest problem z sortowaniem, bo ORDER BY nie działa przed scaleniem przez GROUP BY
DOgi DOgi 26.05.2012, 17:13:20 0 + @Mustafek: dzięki za sugestię. A mniej więcej w jakiej konstrukcji tego użyć?
WebnetMobile WebnetMobile 26.05.2012, 19:06:33 0 + @DOgi: index na intach sa szybkie wiec skoro wydajnosc jest istotna to sprawdz (chocby via EXPLAIN) czy having nie bedzie kosztowniejsze (imho bedzie)
tabela "threads":
id | threadid | timeOfLastMessage (w int)
tabela "messages":
threadid | message | created
Pytanie brzmi: jak otrzymać po jednej, najnowoszej wiadomości z każdego wątku (wg "created") w kolejności od najnowszego wątku wg "timeOfLastMessage"?
#mysql
Komentarz usunięty przez moderatora