0
我試圖採取「高爾特理髮於2006年8月26日」的建議在這裏不同的優化: http://dev.mysql.com/doc/refman/5.0/en/distinct-optimization.html的MySQL DISTINCT查詢與子查詢優化
我的查詢是這樣的:
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?
任何人都可以給我任何指針?
想通了。子查詢之後的表是問題。不知道爲什麼,但刪除修復它。 – phpmeh
',table'與表導致了一個交叉產品(它相當於一個條件對所有行對都成立的連接)。 – Barmar
我不確定你爲什麼得到54.如果表格有12行,它應該是6 * 12 = 72。 – Barmar