w zaleznosci od rodzaju ustawionego sortowania w podzapytaniu
mam zapytanie ktore z
SELECT date, a.id_article, max(sum) FROM (SELECT date, id_article, sum(visits) AS sum FROM `a_stats_articlevisits` WHERE date<='2007-11-18 23:59:59' AND date>='2007-11-11 00:00:00' GROUP BY id_article, date ORDER BY sum DESC, date DESC ) a GROUP BY date
to zapytanie zwraca dokładnie inne wyniki niż
SELECT date, a.id_article, max(sum) FROM (SELECT date, id_article, sum(visits) AS sum FROM `a_stats_articlevisits` WHERE date<='2007-11-18 23:59:59' AND date>='2007-11-11 00:00:00' GROUP BY id_article, date ) a GROUP BY date
czyli bez ORDER w podzapytaniu.
nie rozumiem dlaczego, skoro glowne zapytanie ma pobrac wiersze, gdzie kolumna sum ma awrtosci najwieksze.
nie rozumiem, co ma do tego sorotwanie w podzapytaniu.
hmm. nie wiem
moze inaczej - mam takie dane:
id id_article date visits 458 456 2007-11-16 7 964 1 2007-11-16 5 1798 1428 2007-11-16 1 2441 1 2007-11-17 4 2499 456 2007-11-17 2 4734 1 2007-11-18 1 4761 456 2007-11-18 1 5551 1428 2007-11-18 1
chce z tej tabeli wyciagnac wiersze, ktore przedstawiaja najwieksze ilosc w visit w ramach danego dnia.
jezeli są 2 wiersze to moze byc 1 - dowolny z nich.
czyli wynik przedstawialby sie tak:
id id_article date visits 458 456 2007-11-16 7 2441 1 2007-11-17 4 4761 456 2007-11-18 1
lub
id id_article date visits 458 456 2007-11-16 7 2441 1 2007-11-17 4 5551 1428 2007-11-18 1
siedze nad tym, a wiem ze to banal, bo pare lat temu siedzialem mocno w sql i potrafilem to zrobic, potem mialem kilk alat przerwy i jakos nie moge sobie przypomniec jak
ok. zrobilem, tylko wlasnie nie wiem czemu musi byc order w podzapytaniu. bez tego mam jakies dziwne wyniki
SELECT date, id_article, max(visits) FROM ( SELECT * FROM articlevisits ORDER BY date ASC,visits DESC ) a GROUP BY date