Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: COUNT na różne wartości pola
Forum PHP.pl > Forum > Bazy danych > MySQL
JohnySpot
Tabela wygląda tak:

| Tyt | nowe |
| a | 0 |
| a | 1 |
| a | 0 |
| b | 1 |
| b | 0 |
| c | 1 |

Czy da się w jednym zapytaniu dostać ile jest "a" z zerem, ile z jedynką itd... dla każdej wartości z pola Tyt ? czy trzeba by było stosować unie ?

Wiem, że to jest niepoprawne ale coś w style

  1. SELECT DISTINCT COUNT(nowe = 1) AS nowe_1, COUNT(nowe = 0) AS nowe_0, tyt FROM jakas_tabela;
SongoQ
Mozesz tak:

  1. SELECT COUNT(*) AS ilosc, nowe FROM tabela GROUP BY nowe
JohnySpot
Tylko właśnie, to tak średnio pasuje, bo mi jest potrzebna w jednym zapytaniu ilość "a" nowe = 0 i nowe = 1 nie w dwóch kolejnych. :/
SongoQ
Dorzuc sobie pole Tyt. To wszystko bedzie w 1 zapytania a wyniki bedziesz mial w wielu rekordach
JohnySpot
Źle się wyraziłem. Właśnie w dwóch kolejnych rekordach będę miał a ja tych informacji potrzebuję w jednym :/ Chyba unia się kłania sad.gif
SongoQ
No to wtedy tak ale wydaje mi sie ze kosztowo takie zapytanie bedzie gorsze. Nie sprawdzalem ale tak mi sie wydaje.
JohnySpot
Ja już walczę i nawet unii nie umiem zyskać :/
Pole 'nowa' ma mówić o tym, czy rzecz jest nowa czy używana i chciałbym wiedzieć ile jest rzeczy o danej nazwie używanych a ile nowych. I podawać dane w formie.

a nowych[10] używanych[100]
b nowych[2] używanych[10]
c nowych[5] używanych[18]

Jeszcze jakieś pomysły ? Bo ja się już poddaję.
prond
Może chodzi Ci o coś takiego :
  1. SELECT
  2. Tyt,
  3. SUM(CASE WHEN nowe = 1 THEN 1 ELSE 0 END) AS count_nowe,
  4. SUM(CASE WHEN nowe = 0 THEN 1 ELSE 0 END) AS count_stare
  5. FROM tab GROU BY Tyt;
spryciula
  1. SELECT tyt, count(nowe) AS stare, xxx.nowe1 AS nowe
  2. FROM `test` INNER JOIN (SELECT test1.tyt AS tyt1, count(test1.nowe) AS nowe1
  3. FROM `test` test1
  4. WHERE nowe = 1
  5. GROUP BY tyt)xxx
  6. ON xxx.tyt1 = `test`.tyt
  7. WHERE nowe = 0
  8. GROUP BY tyt



chyba chodziło ci o coś takiego smile.gif
JohnySpot
@perond

Wielkie dzięki - dokładnie o coś takiego mi chodziło.
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.