Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zliczanie rekordow
Forum PHP.pl > Forum > Bazy danych > MySQL
LucRay
Mam w tabeli pole "A" w ktorym zapisane jest 0 lub 1

Zapytanie:
  1. SELECT COUNT(*) AS ile FROM tabela WHERE A != 1

zwroci liczbe rekordow z polem A = 0, a jak nalezaloby policzyc liczbe rekordow z polem A=0 i liczbe rekordow z polem A=1 i miec te liczby dostepne w jednym zapytaniu ?

Mam MySQL 4.0.22 jesli to istotne.
silent
  1. SELECT A,count(*) AS ilosc FROM tabela GROUP BY A
LucRay
Cytat(silent @ 2004-11-10 01:07:31)
  1. SELECT A,count(*) AS ilosc FROM tabela GROUP BY A

hmm to raczej nie to

chodzilo mi polaczenie dwoch zapytan w jedno:
  1. SELECT COUNT(*) AS ile FROM tabela WHERE A != 1

i
  1. SELECT COUNT(*) AS ile FROM tabela WHERE A = 1
silent
Jaki chcesz otrzymać wynik zapytania?? Moje zwróci przykładowo:
Kod
A        ilosc
------------------
0        24
1        15
LucRay
Moze wyjasnie inaczej, mam takie zapytanie:
  1. SELECT user, COUNT(*) AS ile, (SUM(A)/COUNT(*)) AS srednia FROM tabela WHERE A != 1 GROUP BY user HAVING srednia > 0 ORDER BY srednia DESC"


ktore zwroci mi rekordy w ktorych pole A != 1, alias "ile" zwroci mi liczbe rekordow ale tez z polem A != 1. Chcialbym miec takze w powyzszym zapytaniu alias np "ile2" z liczba rekordow w ktorych pole A = 1.
FiDO
Cytat(LucRay @ 2004-11-10 09:42:24)
chodzilo mi polaczenie dwoch zapytan w jedno:
  1. SELECT COUNT(*) AS ile FROM tabela WHERE A != 1

i
  1. SELECT COUNT(*) AS ile FROM tabela WHERE A = 1

Sprobuj tak:
  1. SELECT A, COUNT(*) AS ile FROM tabela GROUP BY IF(A = 1, 1, 0)
popbart
nie chcę skłamać ale raczej tak:
  1. SELECT user,count(*) AS ile,IF(A=1,1,0) AS var FROM tabela GROUP BY user,var
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.