我正在用子查詢構建MySQL查詢。如中所述,該查詢需要通過group-by查詢返回的記錄數,因爲我想要記錄數據庫中的天數。所以我使用以下內容:在子查詢中獲取GROUP BY查詢的行數
SELECT
COUNT(*)
FROM
(
SELECT
cvdbs2.dateDone
FROM
cvdbStatistics cvdbs2
WHERE
cvdbs2.mediatorId = 123
GROUP BY
DATE_FORMAT(cvdbs2.dateDone, "%Y-%d-%m")
) AS activityTempTable
現在,我希望這是一個子查詢,因爲我需要一些更多的數據與不同的WHERE語句。所以我的查詢變爲:
SELECT
x,
y,
z,
(
SELECT
COUNT(*)
FROM
(
SELECT
cvdbs2.dateDone
FROM
cvdbStatistics cvdbs2
WHERE
cvdbs2.mediatorId = mediators.id
GROUP BY
DATE_FORMAT(cvdbs2.dateDone, "%Y-%d-%m")
) AS activityTempTable
) AS activeDays
FROM
mediators
LEFT JOIN
cvdbStatistics
ON
mediators.id = cvdbStatistics.mediatorId
WHERE
mediators.recruiterId = 409
GROUP BY
mediators.email
(我從我的查詢遺漏了一些無關痛癢的WHERE語句409只是一個例子ID,這是由PHP插入)。現在
,我發現了以下錯誤:
#1054 - Unknown column 'mediators.id' in 'where clause'
的MySQL忘記在最深的子查詢的mediators.id。我如何構建一個查詢,其中需要來自主查詢的值的GROUP BY查詢的結果數作爲結果之一?爲什麼不是最深的查詢意識到'mediators.id'?
我應該知道這個......謝謝,馬克! – dbroeks