gpt4 book ai didi

MySQL 不同查询与子查询优化

转载 作者:行者123 更新时间:2023-11-30 01:31:44 25 4
gpt4 key购买 nike

我正在尝试接受“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),但这就是这个人所说的。 How to express count(distinct) with subquery in MySQL?

谁能给我指点一下吗?

最佳答案

你可以像这样简单地做:

   SELECT  `date`  as `pDate`  , COUNT(*) as `daysWorked`
FROM user_direct_labor
GROUP BY `date`

关于MySQL 不同查询与子查询优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com