Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL]liczenie rekordów w bazie i aliasy
Majzel
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 3.07.2007

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


mam takie zapytanie:
  1. SELECT thing AS tag, COUNT(id) AS quantity
  2. FROM my_table GROUP BY thing
  3. ORDER BY thing ASC


i zwraca:
tag quantity
Thing 1 1
Thing 2 1
Thing 3 1
Thing 4 1
Thing 5 1
Thing 6 1

dlaczego taki coś zwraca, ja chciałbym, żeby mi poprostu policzyło te rekordy, tzn. nie bardzo rozumiem ten powyższy kod, dlaczego przy każdej rzeczy jest jedynka?
z góry thx za moje lamerskie pytanie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ddiceman
post
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


Co probujesz zliczyc?
ilosc rekordow, o jednakowym polu thing? Jesli tak, to jest to poprawne zapytanie. Jesli ilosc wszystkich rekordow to
  1. SELECT COUNT(*) AS quantity FROM my_table;

Zapytanie, ktore Ty wypisales pobiera wszystkie rekordy z tabeli, laczy ze soba te, ktore maja taka sama wartosc thing (GROUP BY THING) i ilosc ilosc tych rekordow (o tej samej wartosci thing) razem. Jezeli chcesz na koniec otrzymac rekord z suma wszysktich, to musisz wykonac ROLLUP:
  1. SELECT thing AS tag, COUNT(id) AS quantity FROM my_table GROUP BY thing WITH ROLLUP;
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 17:07