ugrás a tartalomhoz

MYSQL COUNT

aspirany · 2008. Feb. 8. (P), 21.09
A kérdésem van e lehetőség arra hogy egy adoot mező alapján csináljak count lekérdezést.

A probléma adott év (2008) adoot hónapjaira pl 01,02 (tehét január, február) szeretnék összegzést végezni.

az adatbázisban csak egy 'datum' oszlop hivatkozik a dátumra a következő formában pl:

2008.01.11
2008.01.12
2008.02.11

al kerdezésben azt seretném hoyg hónapok szerint végezze el a count-ot

igy januárra 2 februárra 1 az eredmény

köszönöm
 
1

nem ártana kicsit utána olvasni a témának...

Sulik Szabolcs · 2008. Feb. 8. (P), 22.50
... mert így sok problémád lesz még.

Nézzük a táblát:
  1. create table `dates` ( `d` date );  
Tegyünk bele néhány adatot:
  1. insert into `dates` values ('2008-01-02'), ('2008-01-12'),  
  2.  ('2008-01-24'), ('2008-02-14'), ('2008-02-03');  
És a megoldás:
  1. SELECT   
  2.   year(`d`) as `year`,   
  3.   month(`d`) as `month`,   
  4.   count(`d`) as `days`   
  5. FROM `dates`   
  6. GROUP BY `year`, `month`;  
vagy:
  1. SELECT   
  2.   year(`d`) as `year`,   
  3.   month(`d`) as `month`,   
  4.   count(`d`) as `days`   
  5. FROM `dates`   
  6. GROUP BY year(`d`), month(`d`);  
Voila:
  1. +------+-------+------+  
  2. year | month | days |  
  3. +------+-------+------+  
  4. | 2008 |     1 |    3 |  
  5. | 2008 |     2 |    2 |  
  6. +------+-------+------+  
A lényeg, hogy a mysql megengedi kifejezés használatát group by-ban. Ha aliast használsz, akkor standard sql-ben is működik.

Továbbiak
2

Köszönöm

aspirany · 2008. Feb. 9. (Szo), 11.36
Nagyon köszönöm a segítséget.