Autor | Zpráva | ||
---|---|---|---|
Prochy Profil |
Zdravim,
je možné nějak setřídit data před seskupením? Momentálně to dělám tak, že provedu Join který vytvořím selectem, kde setřídim data. Nevim jestli to je optimální a je lepší řešení. Dělám to asi takto: SELECT sloupce FROM tabulka GROUP BY seskupit JOIN . . . JOIN (SELECT * FROM tabulka ORDER BY setridit)tabulka ON(......) Je to možné takhle provést nebo je lepší řešení? Děkuji :-) |
||
Kajman Profil |
#2 · Zasláno: 17. 4. 2014, 08:06:31
Prochy:
„Je to možné takhle provést“ Mysql to ladně neumí a ani tehle způsob nemusí funovat, pokud to teď vypadá, že to funguje. Raději zkuste něco jako třetí příklad z Některé časteji řešené dotazy pro MySQL - FAQ » Nalezení řádků s maximální (minimální) hodnotou asi i jedním group by navíc, pokud není setridit jedinečné. Nebo postresql a v něm distinct on. |
||
Prochy Profil |
#3 · Zasláno: 17. 4. 2014, 20:55:05
Děkuji za odpověď
Mohu se jenom optat, co tam může být v tom mém kódu za problém? Mám poměrně rozsáhlá data a nikde jsem si nevšiml, že by to házelo špatný výsledky. |
||
Časová prodleva: 3 dny
|
|||
Kajman Profil |
#4 · Zasláno: 20. 4. 2014, 16:43:23
Manuál k mysql říká, že si sloupce nepoužité v group by ani neobalené agragační funkcí může dát libovolně.
http://dev.mysql.com/doc/refman/5.5/en/group-by-extensions.html Ostatní databáze (a dle konfigurace i mysql) takový dotaz ani nepovolí. |
||
Časová prodleva: 10 let
|
0