2016-11-25 10 views
0

мой запросзапрос с течением времени отработавшим состоянии

SELECT cookie_name, 
     SUBTIME(CURTIME(), 
     min(time)) AS spent <='00:01:00', 
     date, sum(cookie_view) AS views 
FROM cookie_table 
GROUP BY cookie_name, date 
    HAVING sum(cookie_view) =1 

он получает выходной

    cookie_name  spent    date views 
        5gm7aXUvkbhh 00:25:44.000000  25/11/16 1 
        ZR7929L32Bq 00:28:30.000000  25/11/16 1 

, но я хочу, как этот счет мнений и провел < 1мин, 2min и> 3Min в этом запросе.

     date  views <1 <2 >3 
         25/11/16 2  0 0 2 

Возможно ли это? здесь провел это> 3 поэтому его показывают записи подсчитывать 2 (00:03:00 < 00: 25: 44,000000, 00: 28: 30,000000)

ответ

0

Попробуйте что-то вроде этого:

SELECT `cookie_name`, 
     SUBTIME(CURTIME(), 
     min(time)) AS `spent` <='00:01:00', 
     date, sum(`cookie_view`) AS `views` , 
     sum(case `spent` when < '00:01:00' then 1 else 0 end) as `one`, 
     sum(case `spent` when < '00:02:00' then 1 else 0 end) as `two`, 
     sum(case `spent` when > '00:03:00' then 1 else 0 end) as `three` 
FROM `cookie_table` 
GROUP BY `cookie_name`, `date` 
    HAVING sum(`cookie_view`) =1 
+0

его получения ошибки # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса, используемого рядом с '<=' 00:01:00 ', датой, суммой (cookie_view) AS-просмотров, суммой (в случае, проведенной' по строке 3 @Steffen –

+0

У вас есть разрешил его тем временем? Удалите «тогда. Моя ошибка. – Steffen

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