[英]SQL query to group by day but with another condition
I have data something like this: 我有这样的数据:
| visitor_id | time | my_flag |
| 1 | 01-01-2017 | 1 |
| 2 | 01-01-2017 | 1 |
| 1 | 01-02-2017 | 2 |
| 3 | 01-02-2017 | 2 |
etc... 等等...
I want to group all visitors in one day but based on a flag. 我想在一天内将所有访客分组,但要基于一个标记。 The flag can have two values, 1 or 2. So I need something like
该标志可以有两个值1或2。所以我需要类似
| 12 | 01-01-2017 | 1 |
| 10 | 01-01-2017 | 2 |
| 34 | 01-02-2017 | 1 |
I have 我有
select v.visitor_id v.time, v.flag
from my_table as v
group by DAY(v.time) having flag=1;
But I am not able to figure out how to add multiple conditions (flag=1 and flag=2)? 但是我不知道如何添加多个条件(标志= 1和标志= 2)? Any pointers?
有指针吗?
try something like this 尝试这样的事情
select v.visitor_id v.time, v.flag
from my_table as v
where v.flag in (1,2)
group by DAY(v.time), v.flag
SELECT v.time,
v.flag,
COUNT(v.visitor_id)
FROM my_table as v
GROUP BY v.time,
v.flag;`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.