找出同一表中所有用户的最长日期

时间:2013-06-27 10:22:05

标签: mysql

我有一个包含多个imei的表格数据。我想找出所有imei的所有最大值(日期)。 我正在写这个查询:

SELECT * 
from data 
where gpsdatetime=(
        select max(gpsdatetime) 
        from data) 
    AND imei in("+imei_string+");

但是这会获取所选imei的所有数据,然后从所有数据中只选择一个最大日期。

我想找出所有imei的所有最大值(日期)。

2 个答案:

答案 0 :(得分:0)

试试这个:

SELECT imei, MAX(gpsdatetime)
FROM data
GROUP BY imei

此查询使用GROUP BY clause

Demo on SQLFiddle

如果您想要所有imei行(甚至是重复行),请使用以下查询:

SELECT a.imei, b.gpsdatetime
FROM data a
JOIN (
  SELECT imei, MAX(gpsdatetime) as gpsdatetime
  FROM data
  GROUP BY imei
) b
ON a.imei = b.imei

Demo on SQLFiddle

答案 1 :(得分:0)

我认为你正在寻找这个 SELECT * From data D
where gpsdatetime in (select max(gpsdatetime) from Data group by imei)
AND imei in("+imei_string+");