Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sumowanie wyników z zapytania
piotrek442
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 30.03.2013

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


  1. $query = "SELECT imie,COUNT(ID) AS sum,dayofbirth,monthofbirth,yearofbirth FROM tabela where imie = 'Jacek' GROUP BY imie,dayofbirth,monthofbirth,yearofbirth";
  2. $result = mysql_query($query) or die('Query failed: ' . mysql_error());
  3. while($r = mysql_fetch_array($result))
  4. {
  5. $datax[]= $r['imie']."".$r['dayofbirth']."/".$r['monthofbirth']."/".$r['yearofbirth'];
  6. $data[] = $r['sum'];
  7. }


Teraz mi zwraca np 20 wyników, a jak zliczyć to w zapytaniu żeby zwracało samo 20?
Chodzi mi o to żeby grupowało urodzenia po dniach i imionach a potem zliczało te zgrupowane dane

Ten post edytował piotrek442 3.11.2014, 13:25:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Masz dwie opcje:
1. Wykonać zapytanie zliczające ilość wyników, tj.:
  1. SELECT COUNT(*) FROM (SELECT imie,COUNT(ID) AS sum,dayofbirth,monthofbirth,yearofbirth FROM tabela WHERE imie = 'Jacek' GROUP BY imie,dayofbirth,monthofbirth,yearofbirth) x;

2. Zobacz ile wyników masz w $result: mysql_num_rows

Dodatkowo: Nie powinieneś korzystać z funkcji mysql_*() - są przestarzałe i niewspierane, skorzystaj z PDO; datę urodzenia powinieneś raczej trzymać jako pojedyncze pole typu DATE.
Go to the top of the page
+Quote Post
piotrek442
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 30.03.2013

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


a co w przypadku gdybym dał na wszystkie imiona? Bez tego:
  1. WHERE imie = 'Jacek'
W tym przypadku zwraca 1 rekord. A jak zrobić zeby zwrociło wszystkie imiona?

Ten post edytował piotrek442 3.11.2014, 13:46:36
Go to the top of the page
+Quote Post
bmaci3k
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 26.10.2009

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


usuń z selecta
  1. where imie = 'Jacek'
wtedy pokaże wszystkie imiona

albo wpisz
  1. WHERE imie = '%'
Go to the top of the page
+Quote Post
piotrek442
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 30.03.2013

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


Dziękuje za pomoc, przerobiłem troche i działa guitar.gif
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


@bmaci3k:
znasz kogokolwiek, kto spełnia ten warunek:
WHERE imie = '%'
?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Pan Tadeusz haha.gif
Go to the top of the page
+Quote Post
bmaci3k
post
Post #8





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 26.10.2009

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


Cytat(mmmmmmm @ 3.11.2014, 15:46:52 ) *
@bmaci3k:
znasz kogokolwiek, kto spełnia ten warunek:
WHERE imie = '%'
?

miało być

  1. WHERE imie LIKE '%'


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 - 02:03