我有整數和參數表:加入一個嵌套的MySQL查詢與現場來自其他表
date timestamp
123 2013-07-22 16:33:17
123 2013-07-22 16:34:47
234 2013-07-20 16:33:15
332 2013-07-24 16:33:37
422 2013-07-21 10:13:11
422 2013-07-22 14:53:12
我運行下面的查詢來獲取不同的數據的數量它從選擇和隨機件不同的數據:
SELECT COUNT(DISTINCT(data)) as count, (SELECT data FROM data_table WHERE
DATE(timestamp) >= '2013/07/22' AND DATE(timestamp) < '2013/07/23'
GROUP BY data ORDER BY rand() LIMIT 1) as data FROM data_table WHERE
DATE(timestamp) >= '2013/07/22' AND DATE(timestamp) < '2013/07/23'
我也得到:
count data
2 123
或
count data
2 422
現在我有另一個表,* text_table *,蒙山主鍵數據。它看起來像這樣:
data text
123 "hi"
234 "hey"
332 "bye"
422 "cya"
我需要的查詢來獲取先前查詢的結果,再加上文本:
count data text
2 123 "hi"
或
count data text
2 422 "cya"
我想:
SELECT text_table.text AS text, COUNT(DISTINCT(data_table.data)) as count,
(SELECT data FROM data_table GROUP BY data ORDER BY rand() LIMIT 1) as data
FROM data_table LEFT OUTER JOIN text_table ON data_table.date = text_table.text
但是,無論什麼數據都一直返回相同的文本。
非常感謝。我必須用'(SELECT COUNT(DISTINCT(data_table.id))FROM data_table替換COUNT(dt.date)'WHERE data_table.time>'2013/07/22'AND data_table.time <'2013/07/23 ')'來獲取記錄的總數,而不是** GROUPED BY **的記錄數。 Muito obrigado :) – Xeos