Loading:

Postanowienia noworoczne - a Ty czego nauczysz się w nowym roku? [-25%]

Różnica pomiędzy HAVING a GROUP BY w SQL

Słowo HAVING jest interpretowane w zapytaniu dopiero wówczas, gdy dane są wysyłane do klienta, który wysłał zapytanie do bazy, a więc już po wykonaniu wyszukania danych przez serwer. 

 

Inaczej mówiąc używanie słowa HAVING powinno być raczej ograniczone gdyż nie poddaje się optymalizacji zapytań do bazy danych. Słowo HAVING ma jednak tą zaletę, że można go używać w przypadku funkcji agregujących, czego nie można zrobić przy pomocy słowa WHERE.

 

Listing 1.0 zawiera zapytanie z użyciem HAVING oraz GROUP BY.



Napisz Artykuł

Listing

--zwróci nazwiska oraz maksymalną ilość punktów graczy, których nie dublują się nazwiska oraz jeśli maksymalna ilość punktów jest większa niż 10
SELECT nazwisko, MAX(punkty) FROM gracze GROUP BY nazwisko HAVING MAX(punkty) > 10;


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=5080

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 37719
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors