从结果集中的子查询返回记录计数
问题描述:
我试图从子查询中返回行计数作为结果集的一部分。这里是我已经试过了没有工作的例子:从结果集中的子查询返回记录计数
SELECT的recordId
,GroupIdentifier
,计数()为总
,(SELECT COUNT()FROM表WHERE intActingAsBoolean = 1)批准
FROM表
WHERE DATE_FORMAT(DATEVALUE, '%Y%米%d') '之间的startDate' AND '结束日期'
GROU P BY groupIdentifier
我正在试图返回的“批准”是为分组值,其中intActingAsBoolean = 1。我也试图通过给主查询表别名修改where子句中的记录数并应用AND子句将子查询中的groupidentifier与主查询进行匹配。这些都没有返回正确的结果。查询写入将返回表中的所有记录,其中intActingAsBoolean = 1。
此查询正在针对MySQL数据库运行。
答
这个怎么样的黑客做没有一个子查询:
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
答
这可能不是最好的方法,但你可以写,将返回你正在寻找的值的函数。
谢谢。我一直在研究这个核心功能已经有四天了,而且我知道我正在以这种错误的方式看待这个问题,并且对此发生了变化。 – 2010-03-24 01:59:33