• 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

0 głosów
935 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 Mentor (355,220 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 Mentor (355,220 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 (283,440 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ź 1,488 wizyt
pytanie zadane 22 marca 2022 w SQL, bazy danych przez Marcin Lorek Początkujący (260 p.)
0 głosów
1 odpowiedź 996 wizyt
0 głosów
1 odpowiedź 2,180 wizyt

93,766 zapytań

142,722 odpowiedzi

323,373 komentarzy

63,360 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...