[英]MySQL Distinct Query with Subqueries optimization
我正在尝试采用“关于2006年8月26日的理发师”的建议来进行独特的优化: 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
此处仅查询一张表。 该表是user_direct_labor
,列date
为datetime类型。 该表中有12行。 2013-06-28 00:00:00格式有6个唯一的日期。
如果仅运行子查询本身,则从数据库返回6行,且所有行均具有预期的唯一日期。
当我添加count()时,结果变为54。我不确定54来自何处。 我对子查询还是个新手。
如果我将其更改为COUNT(1),它仍然返回54。我不确定为什么要使用COUNT(1),但这就是他在谈论的内容。 如何在MySQL中用子查询表达count(distinct)?
谁能给我任何指示?
您可以像这样简单:
SELECT `date` as `pDate` , COUNT(*) as `daysWorked`
FROM user_direct_labor
GROUP BY `date`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.