Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zliczenie dwóch kolumn w jednym zapytaniu
Forum PHP.pl > Forum > Przedszkole
kkuubbaa88
witam

od dłuższego czasu mam problem z rozwikłaniem problemu w jednym zapytaniu. mam przykładową tabelę:

id | pole1
---------
1 | 0
2 | 1
3 | 4
4 | 5
5 | 2
7 | 1
9 | 0
13 | 3

i teraz potrzebuje zliczyc wszystkie wystepujace id, co robilem w standardowy sposob pobierajac wszystkie id, a potem mysql_num_rows.
dodatkowo musze zliczyc ilosc wierszy, ktore maja wartosc pola1 wiekszego od 2. Jak to wszystko zrobic w jednym zapytaniu ?
athei
  1. SELECT count(id) AS 'ilosc', (SELECT count(pole1) FROM tabela WHERE pole1>2) AS 'costam' FROM tabela
kkuubbaa88
wlasnie chcialem unikat podwójnych zapytan, bo to wydolnościowo gorzej wypada. wiec nie da rady zrobic tego inaczej jak podwojnie ?
kartin
Wydajnościowo to gorzej działa mysql_num_rows()

Możesz też użyć takiego zapytania
  1. SELECT COUNT(id) FROM test
  2. UNION
  3. SELECT COUNT(id) FROM test WHERE pole1 > 2
kkuubbaa88
a musi być za każdym razem podwójne select ? w moim przypadku lacze z 6 tabel do tego jest wiele warunków i przy podwójnym zapytaniu będę musiał to powtarzać i w sumie zapytanie będzie miało z 20 lini....
bastard13
To albo chcesz zrobić wszystko w jednym zapytaniu, albo chcesz mieć krótkie i przejrzyste, kilku-wyrazowe zapytania, których zadawanie z pewnością zajmie więcej niż dwadzieścia linii. I będzie dużo mniej wydajne...
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.