2011-07-30 4 views
0

J'ai une table MySQL qui a une ligne payment_date. Je reçois les lignes de la date X et de la date Y. Je voudrais imprimer le nombre d'occurrences par date.Plage de dates MySQL: occurrences parmi les mêmes dates

Par exemple:

payment_date 
2011-07-25 
2011-07-24 
2011-07-25 
2011-06-13 

je aurais besoin de revenir que:

2011-07-25 got 2 payments 
2011-07-24 got 1 payments 
2011-06-13 got 1 payment 

Avec cette information que je fais un terrain, avec l'axe X: la date et l'axe Y: nombre des paiements.

Ma requête en est maintenant:

SELECT * 
FROM table_pay 
WHERE DATE_FORMAT(payment_date, '%m/%d/%Y') 
BETWEEN '$payment_date_from' 
AND 
DATE '$payment_date_to' 
GROUP BY DATE(payment_date) 

[ne sais pas !!!!]

Toute aide, s'il vous plaît?

Répondre

1
SELECT 
payment_date,count(*) as tot 
FROM table_pay 
WHERE payment_date 
BETWEEN '$payment_date_from' 
AND 
'$payment_date_to' 
GROUP BY payment_date 
order by tot desc 
0

Essayez cette, ne peut pas le tester en ce moment donc s'il vous plaît répondre si cela fonctionne comme vous attendent

SELECT DATE_FORMAT(payment_date, '%Y-%m-%d'), COUNT(*) 
FROM table_pay 
WHERE payment_date BETWEEN '$payment_date_from' AND '$payment_date_to' 
GROUP BY payment_date 
0

Je voudrais utiliser une requête comme celle-ci (en supposant payment_date est une date) :

Select payment_date, count(*) as paymentcount from table_pay where payment_date between 'startdate' and 'enddate' group by payment_date