2015-12-31 7 views
0
, как финансовый год

я это SELECT:MySQL - выберите

SELECT 
    m.`maschine-name` AS byMaschine, 
    q.`mname` AS byMName, 
    SUM(YEAR(q.`created`) = YEAR(CURDATE())) AS total 
FROM qualitaet q INNER JOIN 
    maschinen m 
    ON m.maschine = q.maschine 
WHERE 
    q.`status`='1' 
GROUP BY 
    q.maschine, q.mname; 

, чтобы получить все результаты за текущий год, и это выглядит следующим образом:

| maschine-name | mname | total | 
|  TYP 1  | 0 | 4 | 
|  TYP 2  | 3 | 4 | 
|  TYP 2  | 4 | 4 | 
|  TYP 3  | 0 | 4 | 
|  TYP 4  | 0 | 4 | 

см SQL скрипку here

Но я хочу ВЫБРАТЬ его в качестве финансового года (финансовый год), начинающегося с> = Окт, 1, чтобы получить этот результат:

| maschine-name | mname | total | 
|  TYP 1  | 0 | 3 | 
|  TYP 2  | 3 | 2 | 
|  TYP 2  | 4 | 0 | 
|  TYP 3  | 0 | 2 | 
|  TYP 4  | 0 | 2 | 

У меня есть разные заявления Дата которые работают все, но финансовый год сводит меня с ума :-(

показывают данные для СЕГОДНЯ:

SUM(DATE(created) = CURDATE()) AS total 

показывают данные для ТОКА НЕДЕЛЯ:

SUM(YEARWEEK(q.`created`, 1) = YEARWEEK(CURRENT_DATE, 1)) AS total 

показывают данные текущего месяца:

SUM(q.`created` >= CURDATE() - INTERVAL DAY(CURDATE())-1 DAY) AS total 

показывает данные для ТЕКУЩЕГО ГОДА:

SUM(YEAR(q.`created`) = YEAR(CURDATE())) AS total 


Есть ли способ, чтобы получить этот результат из выше?

С наилучшими пожеланиями и счастливого нового года ;-)

+0

Просто использовать '' DATE_ADD' или DATE_SUB 'вычесть или добавить 10 месяцев? –

ответ

1

Я сделал это с MAKEDATE. STARTDATE является октябрь, 1

SUM(q.`created` >= MAKEDATE(year(now()-interval 1 year),1) + interval 9 month) AS total 

см SQLFiddle here

полная SELECT:

SELECT 
    m.`maschine-name` AS byMaschine, 
    q.`mname` AS byMName, 
    SUM(q.`created` >= MAKEDATE(year(now()-interval 1 year),1) + interval 9 month) AS total 
FROM qualitaet q INNER JOIN 
    maschinen m 
    ON m.maschine = q.maschine 
WHERE 
    q.`status`='1' 
GROUP BY 
    q.maschine, q.mname; 

Теперь я получил этот результат:

| maschine-name | mname | total | 
|  TYP 1  | 0 | 3 | 
|  TYP 2  | 3 | 2 | 
|  TYP 2  | 4 | 0 | 
|  TYP 3  | 0 | 2 | 
|  TYP 4  | 0 | 2 | 

 Смежные вопросы

  • Нет связанных вопросов^_^