• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SELECT MAX HAVING COUNT - POSTGRESQL

Object Storage Arubacloud
+1 głos
249 wizyt
pytanie zadane 29 maja 2022 w SQL, bazy danych przez Martita Bywalec (2,470 p.)

Jestem początkująca. Szukałam i nie znalazłam nic, co by mi pozwoliło zrozumiieć..

Proszę o wytłumaczenie co robią poniższe kody. Wiem co osobno robi count i having ale razem to już nie za bardzo rozumiem. W jakich sytuacjach taki kod się stosuje.? Proszę o podanie kilka różnych przykładów w tym przykład z biblioteką.

I

SELECT deptno, MAX(salary)
FROM employee
GROUP BY deptno
HAVING COUNT(*)>3;

 

II

 SELECT JOB, MIN(SALARY), 
     FROM EMPLOYEE
     GROUP BY JOB
     HAVING COUNT(*) > 1;

 

III

SELECT emp_name, 
MIN (emp_salary) 
FROM employee 
GROUP BY emp_name 
HAVING count (emp_salary) > 10000;

 

iv

SELECT emp_name, 
MIN (emp_salary) 
FROM employee 
GROUP BY emp_name 
HAVING count (emp_id) > 1;

 

komentarz 29 maja 2022 przez VBService Ekspert (253,340 p.)
edycja 29 maja 2022 przez VBService

Uruchom sobie ten przykład

z takim zapytaniem

  1. SELECT COUNT(CustomerID), Country
    FROM Customers
    GROUP BY Country
    HAVING COUNT(CustomerID) > 0;

     

  2. SELECT COUNT(CustomerID), Country
    FROM Customers
    GROUP BY Country
    HAVING COUNT(CustomerID) > 2;

     

  3. SELECT COUNT(CustomerID), Country
    FROM Customers
    GROUP BY Country
    HAVING COUNT(CustomerID) > 5;

     

przyjrzyj się jakie wyniki zostaną zwrócone.

Mam nadzieje, że się domyślasz co to(e) polecenia sql wykonują.

 

A teraz tak

  1. SELECT COUNT(CustomerID), COUNT(Country), Country
    FROM Customers
    GROUP BY Country
    HAVING COUNT(Country) < 7;

     

  2. SELECT COUNT(CustomerID), COUNT(Country), Country
    FROM Customers
    GROUP BY Country
    HAVING COUNT(CustomerID) > 2 AND COUNT(Country) < 7;
  3. SELECT COUNT(CustomerID), Country
    FROM Customers
    GROUP BY Country
    HAVING COUNT(CustomerID) > 2 AND COUNT(CustomerID) < 7;

     

Tak jak pisze @Wiciorny  trenuj pisz różne zapytania, patrz na wyniki zwracane. Powodzenia. smiley

komentarz 29 maja 2022 przez Martita Bywalec (2,470 p.)

Mam nadzieje, że się domyślasz co to(e) polecenia sql wykonują.

Uruchamiałam i nadal nie rozumierm .

1
komentarz 29 maja 2022 przez VBService Ekspert (253,340 p.)
edycja 29 maja 2022 przez VBService

Ta sama przykładowa baza

SELECT COUNT(CustomerID) AS Ilu_klientow_z_danego_kraju, Country
FROM Customers
GROUP BY Country
ORDER BY Ilu_klientow_z_danego_kraju ASC

zobacz wynik

a teraz

SELECT COUNT(CustomerID) AS Ilu_klientow_z_danego_kraju, Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 1 AND COUNT(CustomerID) < 4
ORDER BY Ilu_klientow_z_danego_kraju ASC

porównaj wyniki

 

P.S. To zapytanie

SELECT COUNT(CustomerID) AS Ilu_klientow_z_danego_kraju, Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 1 AND COUNT(CustomerID) < 4
ORDER BY Ilu_klientow_z_danego_kraju ASC

jest równoważne temu

SELECT COUNT(CustomerID) AS Ilu_klientow_z_danego_kraju, Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) BETWEEN 2 AND 3
ORDER BY Ilu_klientow_z_danego_kraju ASC

 

Mam nadzieje, że już choć trochę naprowadziłem Ciebie. smiley

komentarz 29 maja 2022 przez Wiciorny Ekspert (270,150 p.)
Kolega już Ci bardziej pomaga, ale problemem jest to: że nie rozumiesz, bo nie chcesz się tego nauczyć i pisać na przykładach, tylko oczekujesz gotowego rozwiązania i odpowiedzi. Łatwo jest komuś wciskać kit, jeśli ktoś nie ma pojęcia, jeśli jednak ma pojęcie, to tak PROSTE zapytania, nie wymagają od Ciebie wiedzy z kosmosu, a przepracowania tematu.

1 odpowiedź

0 głosów
odpowiedź 29 maja 2022 przez Wiciorny Ekspert (270,150 p.)

Troszeczkę widzę jakby zadania, które wymagają od Ciebie poczytania o klauzulach? TO nie jest jakaś enigma- wystarczy przeczytać i porobić przykłady samodzielnie. 

Wiem, że łatwiej jest ubrać to w słowa, żeby ktoś za kogos zrobił- ale tutaj pomoc nie wynika z braku wiedzy, czy problemu samego w sobie, tylko z braku chęci do poczytania i oczekiwaniu gotowej odpowiedzi : 

przykładów w tym przykład z biblioteką.

dla kogoś, kto troszkę już zna temat, to jest oczywiste że HAVING choćby i w nazwie ma całkiem co innego niż COUNT i wskazuje, na to co może robić w zapytaniu. 
Skoro coś służy do zliczania wartości i wystąpień, co może robić HAVING? Może oceniać to czy realnie grupowany rekord zawiera to co oczekujemy jako having? 

To teraz powiedzmy, że wiesz co robi klauzula WHERE. 
WHERE służy do filtrowania wierszy przed grupowaniem, a HAVING służy do wykluczania rekordów po grupowaniu. I tak naprawdę można powiedzieć, że robią to samo, to działają w innych przypadkach. 

Wystarczy przeczytać: 
https://www.sqlpedia.pl/kurs-sql/podstawy-skladni-t-sql/
tzn. pouczyć się tego, poświęcić na to czas - może zrobić notatki, ręcznie napisać sobie komendy np. z gotowymi środowiskami online  i potem bez problemu zrozumiesz poniższe proste kody. 
http://www.sqlpedia.pl/having-filtrowanie-grup/

komentarz 29 maja 2022 przez Martita Bywalec (2,470 p.)
edycja 29 maja 2022 przez Martita

Troszeczkę widzę jakby zadania, które wymagają od Ciebie poczytania o klauzulach? TO nie jest jakaś enigma- wystarczy przeczytać i porobić przykłady samodzielnie.  

Przejrzałam cały internet 30 razy poczytałam o klauzulach. NADAL NIE ROZUMIEM. Dlatego proszę o przykłady żeby zrozumieć szczegółowo opisane bo chce zrozumieć.

 

Wiem, że łatwiej jest ubrać to w słowa, żeby ktoś za kogos zrobił- ale tutaj pomoc nie wynika z braku wiedzy, czy problemu samego w sobie, tylko z braku chęci do poczytania i oczekiwaniu gotowej odpowiedzi : 

Nie chce żeby ktoś za mnie zrobił tylko podał kilka przykładów żebym zrozumiała. Ja łatwiej zrozumiem gdy ktoś szczegółowo opisze przykłady.

 

Wystarczy przeczytać: https://www.sqlpedia.pl/kurs-sql/podstawy-skladni-t-sql/
tzn. pouczyć się tego, poświęcić na to czas - może zrobić notatki, ręcznie napisać sobie komendy np. z gotowymi środowiskami online  i potem bez problemu zrozumiesz poniższe proste kody. 
http://www.sqlpedia.pl/having-filtrowanie-grup/

Poczytałam, już 7 dzień próbuje to zrozumieć i nie rozumiem.

komentarz 29 maja 2022 przez Wiciorny Ekspert (270,150 p.)
to 31 raz poświęć na to co Ci wysłałem i napisz sama te przykłady, w praktyce wykorzystaj - np. na gotowych bazach w Internecie, zobacz co Ci zwraca, w ten sposób co robi having, manipuluj tym.
Bo to sa tak PODSTAWOWE pytania, że nie próbuj komuś "wcisnąć kitu", że tyle próbujesz się tego uczyć i nie rozumiesz. A jakie wyniki danych masz kiedy uruchamiasz te kwerendy :) ?
komentarz 29 maja 2022 przez Martita Bywalec (2,470 p.)
edycja 29 maja 2022 przez Martita

Jak mogę napisać te przykłady jak nie rozumiem, pomimo że przeczytałam wiele razy to co mi napisałeś?

Przykład

SELECT kategoria_k,
MIN(rok_wydania)
FROM ksiazka
GROUP BY kategoria_k
HAVING COUNT(rok_wydania)= 2001
ORDER BY kategoria_k;	

Nic mi nie wyszło, nie wieszyło, nie wiem dlaczego, nie rozumiem.

Powinno wyświetlić wszystkie kategorie z najstarszym rokiem wydania i potem wszystkie rekordy, gdzie rok wydania jest 2001. Do tego służy ten kod?

komentarz 29 maja 2022 przez Wiciorny Ekspert (270,150 p.)
no zacznij od pisania przykładów  na danych, stwórz baze i przepracuj to.
komentarz 29 maja 2022 przez Martita Bywalec (2,470 p.)
Mam baze danych biblioteka i na tym się uczę. Przepisywałam przykłady, prubowałam zrozumieć, ale nic nie rozumiem. Błagam o pomoc  wytłumaczenie z szczegółowo opisanym jakimkolwiek przykładem.

Podobne pytania

0 głosów
1 odpowiedź 255 wizyt
pytanie zadane 25 maja 2022 w SQL, bazy danych przez Martita Bywalec (2,470 p.)
0 głosów
0 odpowiedzi 218 wizyt
pytanie zadane 24 maja 2022 w SQL, bazy danych przez Martita Bywalec (2,470 p.)
0 głosów
1 odpowiedź 257 wizyt
pytanie zadane 28 marca 2021 w SQL, bazy danych przez Gerlach Nowicjusz (220 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...