【发布时间】:2016-01-14 20:10:03
【问题描述】:
我有以下查询,它运行和处理正常,问题是子选择只返回 1 或 0,而它应该返回指定的过去 24 小时内的所有记录的COUNT在WHERE 子句中,并且都属于子选择标准。
我怀疑问题在于子选择一次只比较 ID,但我尝试将 WHERE tbr.ID = ID 更改为 WHERE tbr.ID IN (ID),但它仍然只返回 1 或 0。
别名 total 上的COUNT 返回 728,因此数据确实存在并且在过去 24 小时内有效,这已得到验证。
SELECT COUNT(tbr.`ID`) AS `total`
, (SELECT COUNT(`ID`) FROM `cred` WHERE tbr.`ID` = `ID` AND `match` = 'EXACT' AND `number` <> '') AS `exact`
, DATE(NOW()) AS `reportDate`
FROM `cred` tbr
WHERE tbr.`processed` >= (NOW() - INTERVAL 1 DAY);
【问题讨论】: