Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Zliczanie rekordow
LucRay
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.12.2003

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
silent
post
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.08.2004
Skąd: Jastrzębie Zdrój

Ostrzeżenie: (0%)
-----


  1. SELECT A,count(*) AS ilosc FROM tabela GROUP BY A
Go to the top of the page
+Quote Post
LucRay
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.12.2003

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
silent
post
Post #4





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.08.2004
Skąd: Jastrzębie Zdrój

Ostrzeżenie: (0%)
-----


Jaki chcesz otrzymać wynik zapytania?? Moje zwróci przykładowo:
Kod
A        ilosc
------------------
0        24
1        15
Go to the top of the page
+Quote Post
LucRay
post
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.12.2003

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
FiDO
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post
popbart
post
Post #7





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 22.04.2004
Skąd: Żoliborz

Ostrzeżenie: (0%)
-----


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


Ten post edytował popbart 10.11.2004, 12:20:06
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 19:12