Request for several different conditions
-
Whether one request is to obtain data with different types of conditions:
DATE_SUB(NOW(), INTERVAL +1 YEAR).
The challenge is to get a few, but four variables, stored data for the last year, last month, week, day. It's simple, we just need to change the last word of the request. (sighs)
YEAR
♪MONTH
♪WEEK
♪DAY
),But can we get this all out on one request?
SELECT sum(строки) FROM таблица WHERE дата_строки> DATE_SUB(NOW(), INTERVAL +1 YEAR)
-
One line, four columns:
SELECT sum(case_value) Y, sum(if(case_date > DATE_SUB(NOW(), INTERVAL +1 MONTH),case_value,0)) as M, sum(if(case_date > DATE_SUB(NOW(), INTERVAL +1 WEEK),case_value,0)) as W, sum(if(case_date > DATE_SUB(NOW(), INTERVAL +1 DAY),case_value,0)) as D FROM cases WHERE case_date > DATE_SUB(NOW(), INTERVAL +1 YEAR)
4th rows, type of column and data column:
SELECT 'YEAR' P,sum(case_value) Y FROM cases WHERE case_date > DATE_SUB(NOW(), INTERVAL +1 YEAR) UNION SELECT 'MONTH' P,sum(case_value) Y FROM cases WHERE case_date > DATE_SUB(NOW(), INTERVAL +1 MONTH) UNION SELECT 'WEEK' P,sum(case_value) Y FROM cases WHERE case_date > DATE_SUB(NOW(), INTERVAL +1 WEEK) UNION SELECT 'DAY' P,sum(case_value) Y FROM cases WHERE case_date > DATE_SUB(NOW(), INTERVAL +1 DAY)