Group by & order by
dete - 11-05-2006 17:25
Group by & order by
witam
mam 2 tabele
obecnosc
id id_zm A B 1 2 2 3 2 3 2 5 3 1 1 2 4 3 2 1 5 1 2 4
zmiana id nazwa 1 pierwszA 2 drugaB 3 trzeciaC polaczone obecnosc.id_zm=zmiana.id
zapytanie ma zliczac sume dla A i B dla kazdej z zmian i posortowac wg/id.zmiana
gdy zapodam zapytanie: select nazwa,sum(A) fizyczni,sum(B) umyslowi from obecnosc join zmiana on zmiana.id=obecnosc.id_zm group by zmiana.nazwa;
mam wynik taki jak chce tylko sortuje mi wg/nazwy druga.... pierwsza... trzecia... a chcialbym aby posortowal mi wg/id - pierwsza(1)...druga(2),.. mozna by grupowac po id ale chce aby wynik zapytania wyhladal pierwsza.... druga..... trzecia.... a nie 1.... 2... 3..
jak to zrobic - pozdraiwam
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 11-05-2006 17:25
dete wrote: > witam > > mam wynik taki jak chce tylko sortuje mi wg/nazwy > druga.... > pierwsza... > trzecia... > a chcialbym aby posortowal mi wg/id - pierwsza(1)...druga(2),.. > mozna by grupowac po id ale chce aby wynik zapytania wyhladal
Od kiedy group by decyduje co wyświetlać? Poza tym to, że zapytanie zwróci id, nie znaczy, że musisz je wyświetlić....
-- P.M.
dete - 11-05-2006 17:25
no group decyduje jak grupuje i jak sumy zlicza :) a chce sortowac po order tylko zaproponuj jak :)
Hetman - 11-05-2006 17:25
Pogrupuj po obu kolumnach id i nazwie. Pola wymieniasz po przecinku. Mozesz tak zrobic, jesli dla jednego id jest dokladnie jedna i ta sama nazwa, czyli, ze nazwa w tej tablicy zmiana jest unikalna.
=?UTF-8?B?UGF3ZcWCIE1hdGVqc2tp?= - 11-05-2006 17:25
dete wrote: > no group decyduje jak grupuje i jak sumy zlicza :)
A skąd ta wiedza u Ciebie? Podpowiem. To co jest w selekcie bez funkcji agregujących musi być w group by, ale odwrotnie już takiego wymogu nie ma.
> a chce sortowac po > order tylko zaproponuj jak :)
No to po prostu sortuj.
-- P.M.
dete - 12-05-2006 00:02
hmmm.
no tak dokladnie sie zgadzam, jak napisalem wyzej w zapytaniu mam 2 funkcje agregujace, grupuje po id (1,2....) ta tabele mam polaczona relacja. i pytanie jak napisac zapytanie w ktorym wynikiem bedzie 2x wynik funkcji agregujacych + pole polaczonej tabeli, nie wystepujacej po select.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] CONCAT agregujący, ale nie GROUP_CONCAT()
[MySQL] =?ISO-8859-2?Q?Odwr=F3cenie_domy=B6lnego_order_by=2C?==?ISO-8859-2?Q?_ale_bez_parametru=2E?=
=?ISO-8859-2?Q?=5BORACLE=2C_ORDER_BY=5D_Czy_indeksowane_?==?I SO-8859-2?Q?kolumny_przy=B6piesz=B1_sortowanie=3F?=
[MySQL] group by i dodatkowe warunki. Pomoc przy zapytaniu.
Ciekawosta =?iso-8859-2?q?wydajno=B6ci?= DISTINCT i GROUP BY na PostgreSQLu
Adobe Creative Suite User Group in Poland
[mysql, postgres] poprawne uzycie GROUP BY i JOIN
=?iso-8859-2?q?[MSSQL]_=B6rednia_bez_GROUP_BY?=
[mysql] GROUP BY i wyciagniecie odpowiednich danych
Sql Server, File group is full
zanotowane.pldoc.pisz.plpdf.pisz.plwawa19wwa91.pev.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|