2010-11-24 3 views
0

У меня есть даты-времени имена полей "salestime" в "продаже" столMySQL Конкретная запросов Требование

Мне нужно получить данные, как:

SalesMonthYear  Total 
2010-11    10 
2010-10    15 
2010-09    21 

или

Nov-2010   10 
Oct-2010   15 
Sep-2010   21 

Любой знает, как могу ли я достичь этого с помощью запроса? Спасибо за помощь

ответ

0
SELECT DATE_FORMAT(salesTime, '%Y-%m') AS salesMonthYear, 
     COUNT(*) AS salesCount 
FROM sales 
GROUP BY DATE_FORMAT(salesTime, '%Y-%m') 
1

Для достижения желаемого вам необходимо использовать DATE_FORMAT и GROUP BY. Этот запрос будет сделать это:

SELECT DATE_FORMAT(salestime, '%Y-%m') as SalesMonthYear, count(*) as `Total` FROM `sales` GROUP BY SalesMonthYear ORDER BY `salestime` 

А для второй версии:

SELECT DATE_FORMAT(salestime, '%b-%Y') as SalesMonthYear, count(*) as `Total` FROM `sales` GROUP BY SalesMonthYear ORDER BY `salestime` 
+0

спасибо, но я думаю, что DATE_FORMAT (`salestime`, '% Y-% м'), а не в как вы упоминаете – 2010-11-24 12:22:32

+0

О, да, я ввернул это в спешке. – shamittomar 2010-11-24 12:27:27