首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >子查询返回多于1行-如何获得行的最后更新日期?

子查询返回多于1行-如何获得行的最后更新日期?
EN

Stack Overflow用户
提问于 2019-05-14 04:17:04
回答 2查看 86关注 0票数 0

我有一个带有设备ID和上次更新的日期和时间的表,我正在尝试进行一个MySQL查询,以获得表上每个设备的最后一次看到的更新,但是当我执行查询时,我会得到以下错误:

子查询返回多于1行。

下面是我在PHP代码中使用的查询。

代码语言:javascript
运行
复制
SELECT log_device_dt_lastupdate FROM tb_log_device 
WHERE device_id=(SELECT DISTINCT(device_id) 
FROM tb_log_device) ORDER BY log_device_dt_lastupdate 
DESC LIMIT 1

如果我使用GROUP_CONCAT,我只需从一个设备获取信息。

我不想用两个查询从表中获取这些信息,有可能得到它吗?也许通过制作一个JOIN

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-14 04:20:27

使用group bymax() aggregation

代码语言:javascript
运行
复制
SELECT deviceid,max(log_device_dt_lastupdate) 
FROM tb_log_device 
group by deviceid
票数 1
EN

Stack Overflow用户

发布于 2019-05-14 04:31:04

使用where_in

代码语言:javascript
运行
复制
SELECT log_device_dt_lastupdate FROM tb_log_device 
WHERE device_id IN 
(SELECT device_id 
FROM tb_log_device 
ORDER BY log_device_dt_lastupdate DESC)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56122944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档