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

Mysql - ilość rekordów w zwracanym wyniku

Object Storage Arubacloud
0 głosów
355 wizyt
pytanie zadane 7 maja 2022 w SQL, bazy danych przez Piotr Popławski Użytkownik (610 p.)

Chodzi mi o informację jaka jest ilość zwracanych wierszy, a nie ilość 

Zapytanie

SELECT count(*) il_k FROM klient GROUP BY telefon,email

Świetnie bo dostaję ilość rekordów spełniających warunki grupowania. Ja potrzebuję nie ilość rekordów spełniających warunki lecz ilość wierszy jaka została zwrócona po spełnieniu warunków, czyli w bazie jest 100 rekordów i 3 rekordów spełniających warunki

1 - 3 rekordy
2- 17 rekordy
3 - 80 rekordów
jak wyciągnąć, że są to trzy wiersz?
 

Chodzi o rozwiązanie w Laravelu 8.

Dziękuję za podpowiedź.

komentarz 7 maja 2022 przez adrian17 Ekspert (344,860 p.)
Możesz dać pełne przykładowe zapytanie? Bo tak jak wrzuciłeś, to nie wiem po co Ci GROUP BY.
komentarz 7 maja 2022 przez Piotr Popławski Użytkownik (610 p.)

w tablicy mam kilka kolumn. W tym są dwie kolumny z telefonem i emailem. Są wiersze, gdzie powtarzają się ten sam telefon i email.

przykład:

email telefon ilość rekordów
ewa@o.pl 60124544 25
janek@o.pl 501232144 45
pan@wp.pl 845412141 25

To zapytanie zwraca mi taką informację i super, jednak ja nie potrzebuję ile jest rekordów spełniających te kryteria, tylko ilość wierszy jaka zostaje zwrócona. W tym przypadku są to trzy wiersze.

komentarz 7 maja 2022 przez adrian17 Ekspert (344,860 p.)
Przy grupowaniu zlicz COUNTem ile jest powtórzeń każdego, zrób HAVING żeby dostać tylko te gdzie liczba >= 2, a na koniec zsumuj te COUNTy.

Tak na oko przynajmniej :)

1 odpowiedź

+1 głos
odpowiedź 7 maja 2022 przez Wiciorny Ekspert (269,710 p.)

Dobra, ale to prościej jest zwrócić rekordy te które zwraca zapytanie 
 

The COUNT(*) function returns the number of records in a table:

SELECT COUNT(*) FROM table_name;

to  mozesz zastosować z sql zwracajacym Ci odp rekrdy jako połączenie z PODZAPYTANIEM 
 

SELECT COUNT(*) FROM (SELECT ...  coś, kolumny, rekordy z warunkiem ) ;

przykład
 

SELECT COUNT(*)  FROM ( SELECT klient, telefon WHERE telefon IS NOT NULL AND klient LIKE 'TOMASZ%');


 

komentarz 8 maja 2022 przez Piotr Popławski Użytkownik (610 p.)
Dziękuję za pochylenie się nad tematem. Jednak chodzi mi policzenie ile jest rekordów w tablicy: SELECT count(*) FROM klient - zwraca mi ilość wszystkich rekordów. SELECT count(*) FROM klient GROUP BY telefon, email zwraca mi ilości klientów, którzy mają taki sam telefon i adres email. Otrzymuję wówczas kilka wierszy. Chodzi o policzenie ile takich wierszy zostało zwróconych

Podobne pytania

0 głosów
1 odpowiedź 748 wizyt
pytanie zadane 22 marca 2022 w SQL, bazy danych przez Marcin Lorek Początkujący (260 p.)
0 głosów
1 odpowiedź 440 wizyt
0 głosów
1 odpowiedź 1,095 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 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!

...