好的,有一些关于SO的问题有相同的标题,但我无法想到如何更具体。
这让我感到困惑的原因是返回多行是我的子查询(之一)的理想效果
SELECT MAX(theCount) FROM
(SELECT FK_Hour, Count(FK_Hour) As theCount FROM
(Select FK_Hour
From slottime
INNER JOIN time ON slottime.FK_Hour = time.Hour
WHERE FK_Hour =
(SELECT time.Hour FROM time WHERE time.day=0 )
) As C
GROUP By FK_Hour
) AS counts;
我意识到时间是MySQL的保留词 - 这可能是我不得不尽快纠正的事情;虽然我在这种情况下怀疑它的问题。
查询的目的是选择特定小时的最大实例数,其中day = 0。
答案 0 :(得分:4)
问题很明显:
WHERE FK_Hour = (SELECT time.Hour FROM time WHERE time.day=0 )
最简单的解决方案是将=
更改为in
:
WHERE FK_Hour IN (SELECT time.Hour FROM time WHERE time.day=0 )
但是,您可能需要检查数据以确定这是否是您真正想要的。