我试图在这里接受“Galt Barber on August 26 2006”关于不同优化的建议:http: //dev.mysql.com/doc/refman/5.0/en/distinct-optimization.html
我的查询看起来像:
SELECT COUNT( `pUserDirectLabor`.`pDate` ) as `daysWorked`
FROM ( SELECT DISTINCT `user_direct_labor`.`date` as `pDate`
FROM user_direct_labor
GROUP BY user_direct_labor.`date`)
AS pUserDirectLabor, user_direct_labor
此处仅查询 1 个表。该表包含日期时间类型user_direct_labor
的列。date
该表中有 12 行。2013-06-28 00:00:00 格式中有 6 个唯一日期。
如果我自己只运行子查询,我会从数据库中返回 6 行,所有行都具有预期的唯一日期。
当我添加 count() 时,结果变为 54。我不确定 54 来自哪里。我对子查询相当陌生。
如果我将其更改为 COUNT(1),它仍然返回 54。我不确定为什么要使用 COUNT(1),但这就是这个人在说的。 如何在 MySQL 中用子查询表示 count(distinct)?
任何人都可以给我任何指示吗?