简体   繁体   English

SQL查询按天分组,但有其他条件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM