MySQL用户最新记录

时间:2015-03-05 12:02:36

标签: mysql

我有一个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的最佳方式是什么?

2 个答案:

答案 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