Kristabs Posted November 8, 2006 Report Share Posted November 8, 2006 Jāizvelk pēdējie komentāri no dažādām tēmā, bet lai no tēmas rāda tikai pēdējo komentāru. Problēma ir tāda, ka pēc sql sintakses sanāk, ka jāliek "group by" pirms "order by" un šajā gadījumā rezeltāts ir tāds, ka no tā order nev nekādas jēgas. Viņš paņem tikai vienu pirmo, kuram vismazākais ID. Kā būtu vispareizāk? Link to comment Share on other sites More sharing options...
andrisp Posted November 8, 2006 Report Share Posted November 8, 2006 Varbūt apstāsti nedaudz savu tabulu struktūru un parādi kādu kveriju to šobrīd izmanto. Link to comment Share on other sites More sharing options...
Kristabs Posted November 8, 2006 Author Report Share Posted November 8, 2006 (edited) ID | mainID | title | time select title from table where mainID = '0' //taas buutu galvenaas teemas select title from table where mainID != '0' //komentaari teemaam select title from table where mainID != '0' group by mainID order by time desc limit 5 //apmeeram shaadi gribeetos izvilkt peedeejos komentaarus, bet lai teemas neatkaartojas, bet shaadi nevar jo tiek sagrupeets pirms ordereeshanas peec laika Edited November 8, 2006 by Kristabs Link to comment Share on other sites More sharing options...
Delfins Posted November 8, 2006 Report Share Posted November 8, 2006 Vispirms iesāc ar pareizu lauku nosaukšanu, a to nevar saprast kas kur ir... Link to comment Share on other sites More sharing options...
Kristabs Posted November 8, 2006 Author Report Share Posted November 8, 2006 Sanāca tas ko vajag šādi: SELECT diskusijas.* FROM diskusijas INNER JOIN (SELECT MAX(ID) AS id FROM diskusijas group BY mainID) ids ON diskusijas.ID = ids.id where mainID != '0' order by create_time desc Link to comment Share on other sites More sharing options...
Recommended Posts