У меня есть таблица счетов, в которой столбец с именем «dateCreation» является датой создания учетной записи.ежемесячно созданный аккаунт за последние 12 месяцев
Я хотел бы получить все созданные аккаунты за последние 12 месяцев, но иногда нет учетной записи, созданной в течение 2 или более месяцев. В тезисах месяцев я Vould как возвращение тузд 0. Мой запрос отлично работает (я получить его здесь, на StackOverflow):
SELECT customers.dateCreation, Months.id AS `month`, Months.mois, COUNT(customers.dateCreation) AS `count`
FROM
(
SELECT 1 as ID, 'Janvier' as mois UNION SELECT 2 as ID, 'Février' as mois UNION SELECT 3 as ID, 'Mars' as mois UNION SELECT 4 as ID, 'Avril' as mois
UNION
SELECT 5 as ID, 'Mai' as mois UNION SELECT 6 as ID, 'Juin' as mois UNION SELECT 7 as ID, 'Juillet' as mois UNION SELECT 8 as ID , 'Aout' as mois
UNION
SELECT 9 as ID, 'Septembre' as mois UNION SELECT 10 as ID, 'Octobre' as mois UNION SELECT 11 as ID, 'Novembre' as mois UNION SELECT 12 as ID, 'Decembre' as mois
) as Months
LEFT JOIN customers on Months.id=month(customers.dateCreation) AND dateCreation BETWEEN Date_add(Now(),interval - 12 month) AND NOW()
GROUP BY Months.id
ORDER BY Months.id ASC
Но она возвращает что-то вроде этого:
ID | Count
1 | 0
2 | 0
3 | 0
4 | 0
5 | 8
6 | 1
7 | 0
8 | 1
9 | 0
10 | 7
11 | 0
12 | 4
Но мы в сентябре , поэтому я хотел бы, чтобы первый месяц октябрь
вот sqlfiddle: http://sqlfiddle.com/#!9/edfeb/1
@ Alexking2005: Добавлено больше объяснений – dnoeth
@ Alexking2005 кажется вполне понятно. С чем вы боретесь? – Strawberry