mysql - 找出同一张表中所有用户的最大日期

标签 mysql

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

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

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

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

最佳答案

试试这个:

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 .

关于mysql - 找出同一张表中所有用户的最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17340598/

相关文章:

mysql - SQL 查询不起作用。可能的语法错误

mysql - 如何从初始行创建多行

mysql - 从表单提交中提取日期参数时遇到问题

python - 使用原始 SQL 且无参数执行安全 SQL SELECT 语句

mysql - 数据库中所有表的首字母大写

mysql - 您使用查询处理程序吗?如果是这样,它为您执行什么任务?

php - 如果登录时间大于表中的1,如何计算总工作时间

mysql - 插入另一个表时比较两个不同表中的值 'middle table'

php - 备份sql数据库出错但创建数据库转储文件成功

php - 自动重复发布项目直至满足要求