Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno SQL dotaz

max je agregacna funkcia, rovnako ako min, avg, sum a podobne. cize z nejakej skupiny riadkov vyberie maximalnu hodnotu z daneho stlpca. kedze ale v selecte je este group by na stlpec s mailom, tak vyberie vzdy maximalnu hodnotu pre urcenu skupinu mailov.

priklad: mas tabulku T1 a v nej stlpec mail a cislo. v tabulke su 4 riadky nasledovne:

abc@abc.sk | 1
abc@abc.sk | 2
dfe@dfe.sk | 3
dfe@dfe.sk | 4

ak by som spravil select
select max(cislo) from t1;
vrati mi to len 4

ak ale dam select mail, max(cislo) from t1 group by mail;
vrati mi to
abc@abc.sk | 2
dfe@dfe.sk | 4

Inak napadol ma este jeden select pre to tvoje riesenie a to take, ze by vratil vzdy posledny registrovany riadok pre kazdy mail:

select address_book_id, entry_company, entry_state from address_book where address_book_id in (select max(address_book_id) from address_book group by entry_state);

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny