我试图从子查询返回rowcount作为结果集的一部分。以下是我尝试过的不起作用的示例:
SELECT recordID
,GroupIdentifier
,计数()AS总计
,(SELECT COUNT()FROM表WHERE intActingAsBoolean = 1)AS Approved
从表
WHERE date_format(Datevalue,'%Y%m%d')BETWEEN'startDate'和'endDate'
GROUP BY groupIdentifier
我试图为'Approved'返回的是分组值的记录数,其中intActingAsBoolean = 1.我还尝试通过给主查询提供表别名并应用AND子句来修改where子句。将子查询中的groupidentifier与主查询匹配。这些都没有返回正确的结果。写入的查询返回表中intActingAsBoolean = 1的所有记录。
此查询正在针对MySQL数据库运行。
答案 0 :(得分:0)
如果没有子查询,这个hack怎么做:
SELECT
recordID,
GroupIdentifier,
COUNT() AS total,
SUM(intActingAsBoolean = 1) AS Approved
FROM table
WHERE date_format(Datevalue, '%Y%m%d') BETWEEN 'startDate' AND 'endDate'
GROUP BY groupIdentifier
答案 1 :(得分:0)
这可能不是最好的方法,但您可以编写一个函数来返回您正在寻找的值。