Autor Zpráva
robbie
Profil
Zdravím, chci se za prvé optat, v jakém pořadí se vykonají klauzule v dotazu:
(Např. za 1.FROM , 2.SUM, pak.....3. ? atd.)

SELECT oayee SUM(amount) TOTAL, COUNT(payee) NUMBER_WRITTEN
FROM checks
WHERE amount >= 1000
GROUP BY payee
HAVING SUM (amount)> 500

a za druhé , sql dotaz lze po řádcích číst jako anglickou větu, jak by jste tedy tento dotaz přeložili?
Dělá mi problém to HAVING nevím na co se ptá nebo jaký má význam nebo k čemu se vztahuje. Snad je muj dotaz srozumitelný. Děkuji
Alphard
Profil
Detailní vysvětlení je v manuálu, ale stručně vykonávání přibližně odpovídá pořadí zápisu (přibližně protože si netroufám odhadnout, co optimalizátor vymyslí). Do where lze psát výraz vyhodnotitelný na úrovni jednoho záznamu (před seskupením) a po group by lze filtrovat již seskupená data mj. pomocí agregačních funkcí jako sum(), avg(), count() apod.
Kdyžtak koukněte na www.linuxsoft.cz/article.php?id_article=872.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: