MySQL условное суммирование - PullRequest
0 голосов
/ 05 ноября 2011

Я пытаюсь провести анализ возраста по некоторым данным, и мне нужно выполнить условное суммирование, т.е. моя таблица:

ID | Date    | Amount |
===+=========+========+    
1  | 1/1/10  | 100    |
2  | 1/2/10  | 100    |
3  | 1/5/10  | 100    |
4  | 15/5/10 | 100    |
5  | 20/5/10 | 100    |

Скажите, что сегодня дата 1/6/10. Я бы хотелСумма сумма в зависимости от их возраста, как используется в анализе возраста.то есть я бы хотел получить это

Age        | Total
===========+======
<30 days   | 300
30-60 days | 0
60-90 days | 0
90 days+   | 200

По сути, это условное суммирование, поэтому я хочу суммировать все значения (<30 дней, затем 30-60 дней, затем 60-90 дней, затем 90 дней +) </p>

1 Ответ

2 голосов
/ 05 ноября 2011

Вы можете сделать:

select case 
           when datediff(now(), date) >= 90 then '90 days+'
           when datediff(now(), date) >= 60 and datediff(now(), date) < 90 then '60-90 days'
           when datediff(now(), date) >= 30 and datediff(now(), date) < 60 then '30-60 days'
           else '< 30 days'
       end case f,
       sum(amount)
  from your_table
 group by f;
...