2014-01-31 17 views
2

我有一张用户id表及其活动时间戳。两列。我想得到一张人员表以及他们的最大和最小时间戳。mysql,为所有用户计算最小值

我知道如何获得最小和最大个人,但并不适用于所有:

select min(tb_timestamp), max(tb_timestamp) from tb 
where tb_user_id=10; 
+0

而不是 “where子句” 中的 “tb_user_id” 使用GROUP BY,你会得到两个属性所有的用户。 – jagmohan

回答

4

尝试使用GROUP BY

SELECT 
    MIN(tb_timestamp), MAX(tb_timestamp) 
FROM 
    tb 
GROUP BY tb_user_id 
1

使用GROUP BY。它会工作

select min(tb_timestamp), max(tb_timestamp) from tb 
GROUP BY tb_user_id 
5

骨料函数通常需要一个GROUP BY语句。

SELECT column_name, aggregate_function(column_name) 
FROM table_name 
GROUP BY column_name; 

所以做到这一点:

SELECT MIN(tb_timestamp), MAX(tb_timestamp) 
FROM tb 
GROUP BY tb_user_id 
0

试试这个,

SELECT MIN(tb_timestamp), MAX(tb_timestamp) FROM tb 
GROUP BY tb_user_id