我有這個查詢返回下面的截圖(正確的)結果:兩個(在我看來),相當於SQL查詢返回不同的結果
SELECT owner_id, MAX(ctime) as post_time, aid
FROM `jul_cpg15x_pictures`
GROUP BY aid
ORDER BY aid DESC
但我需要在查詢格式如下(因爲我想要做一些事後連接):
SELECT * FROM
(SELECT owner_id, MAX(ctime) as post_time, aid
FROM `jul_cpg15x_pictures`
GROUP BY aid
ORDER BY aid DESC) q
該查詢返回的結果不同(有些owner_ids不同):
這讓我瘋狂了幾個小時,現在怎麼樣? 我再次檢查ctime在表中是不同的,並且不會發生兩次。但是,例如對於ctime 1410003221,肯定只有一個條目(具有owner_id = 8的條目)。
非常感謝您的幫助或提示。
OWNER_ID在您的SELECT列表中,但不在GROUP BY子句中,儘管在SELECT列表中使用了聚合函數。 – 2014-09-06 20:05:58
如果您選擇一個未分組的列,您只需從該組中獲得一個隨機值。除MySQL以外的大多數數據庫都會認爲這個SQL是一個錯誤。 – Laurence 2014-09-06 20:06:10
您是否想要每個AID或每個OWNER_ID和AID組合的最高發布時間(ctime)? – 2014-09-06 20:07:57