我有一个包含多个imei的表格数据。我想找出所有imei的所有最大值(日期)。我正在写这个查询:
SELECT *
from data
where gpsdatetime=(
select max(gpsdatetime)
from data)
AND imei in("+imei_string+");
但这会获取所选 imei 的所有数据,然后从所有数据中仅选择一个最大日期。
我想找出所有imei的所有最大值(日期)。
我有一个包含多个imei的表格数据。我想找出所有imei的所有最大值(日期)。我正在写这个查询:
SELECT *
from data
where gpsdatetime=(
select max(gpsdatetime)
from data)
AND imei in("+imei_string+");
但这会获取所选 imei 的所有数据,然后从所有数据中仅选择一个最大日期。
我想找出所有imei的所有最大值(日期)。
我想你正在寻找这个
SELECT * From data D
where gpsdatetime in (select max(gpsdatetime) from Data group by imei)
AND imei in("+imei_string+");
尝试这个:
SELECT imei, MAX(gpsdatetime)
FROM data
GROUP BY imei
此查询使用GROUP BY 子句。
如果您想要所有 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