我有一个MySQL数据库,其中包含对我的服务器进行的每个API调用。此表用于各种分析。该表的结构如下:
---------------------------------------------
| user_id | api_call_time | app_version |
---------------------------------------------
1 | 2014-09-11 09:25:04 | v1
2 | 2014-09-11 09:26:06 | v1
1 | 2014-09-11 09:27:04 | v2
我正在尝试找出哪些用户已切换到新版本(即哪些用户在v2
列中至少有一条app_version
的记录。我尝试了两种方法,一种是使用WHERE app_version = 'v2'
搜索SELECT MAX(api_call_time),app_version FROM...
,然后搜索另一个,但在这两种情况下都没有选择正确的结果。
查找哪些用户的记录包含app_version = v2
的最佳方式是什么?
答案 0 :(得分:0)
如果我理解你。 我认为这个查询可以帮到你:
修改强>
select count(user_id) as count,user_id from you_table where app_version = 'v2' group by user_id
此查询将返回带有user_id的一行和带有app_version = v2的user_id计数
答案 1 :(得分:0)
这个查询会向您显示多次拨打'v2'
的用户:
select user_id , count(app_version)
from table_name
where user_id in (select user_id from table_name where app_version='v2')
group by user_id
having count(app_version) >1