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:
create table `dates` ( `d` date );
Tegyünk bele néhány adatot:
insert into `dates` values ('2008-01-02'), ('2008-01-12'),
 ('2008-01-24'), ('2008-02-14'), ('2008-02-03');
És a megoldás:

SELECT 
  year(`d`) as `year`, 
  month(`d`) as `month`, 
  count(`d`) as `days` 
FROM `dates` 
GROUP BY `year`, `month`;
vagy:

SELECT 
  year(`d`) as `year`, 
  month(`d`) as `month`, 
  count(`d`) as `days` 
FROM `dates` 
GROUP BY year(`d`), month(`d`);
Voila:

+------+-------+------+
| year | month | days |
+------+-------+------+
| 2008 |     1 |    3 |
| 2008 |     2 |    2 |
+------+-------+------+
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.