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)YEARMONTHWEEKDAY),

    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)
    

Log in to reply
 


Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2