gpt4 book ai didi

mysql - 同一个表上的两个查询显示具有不同值的同一行?

转载 作者:行者123 更新时间:2023-11-29 06:27:38 26 4
gpt4 key购买 nike

我是 SQL 的新手,但我很确定这里发生了一些奇怪的事情。我有一个 MySQL 数据库,其中有一个包含 4 列(RoomNum、EventName、EventStatus、EventDateTime)的表(事件表)。

某些 EventNames 会随着 EventStatus 在不同时间切换 ON 和 OFF 而重复。我正在尝试获取最新条目,以便我拥有“当前”状态,因此我使用:

select RoomNum, EventName, EventStatus, max(EventDateTime) as MaxDate
from eventtable where eventName = "DND"
group by RoomNum

导致: eventtable_maxtime_DND_partial

为了确保一切正常,我检查了每个房间以确保它提供最新的房间:

SELECT * FROM `eventtable`
where RoomNum = "070#" and eventname = "DND" /*where "#" is a specific digit*/
order by eventdatetime asc

第一个看起来不错: eventtable_701_DND

但其他人则不然! (即使时间正确,EventStatus 也是错误的):eventtable_702_DND eventtable_703_DND eventtable_704_DND

我没有得到的是 EventDateTime 匹配,它告诉我我正在查看同一行数据,但是内部值 (EventStatus) 怎么会不同呢?

请帮忙。谢谢。

最佳答案

通过使用以下查询,您可以获得符合您要求的结果。请尝试。

select * from(select RoomNum, EventName, EventStatus, EventDateTime from eventtable where eventName = "DND"order by EventDateTime desc)tab group by RoomNum ;

关于mysql - 同一个表上的两个查询显示具有不同值的同一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30021751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com