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 biggrin.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kefirek
post
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Może o takie coś chodzi
  1. <?php
  2. $ile  = mysql_result(mysql_query("SELECT COUNT(*) FROM my_table"), 0);
  3. echo $ile;
  4. ?>


Ten post edytował kefirek 4.12.2008, 18:35:59
Go to the top of the page
+Quote Post
ddiceman
post
Post #3





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

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

 



RSS Aktualny czas: 20.08.2025 - 15:06