我想建立一個查詢,它給了我一些用戶最大的金額總和。我可以通過limit 1
獲得最大值。但是,如果可能有多個用戶具有相同的最大值,我該如何實現?如何獲得多個相同的最大值
例如,我有表作爲ID, CONTACT_ID, ..., AMOUNT, ....
目前我使用這種查詢:
SELECT SUM(AMOUNT) AS total,CONTACT_ID
FROM TABLE
WHERE ID = 1
GROUP BY CONTACT_ID
ORDER BY total DESC limit 1
如果我嘗試使用MAX()函數。它給我所有的行而不是最大值。
SELECT total,CONTACT_ID FROM
(SELECT SUM(AMOUNT) AS total,CONTACT_ID
FROM TABLE
WHERE ID = 1
GROUP BY CONTACT_ID
ORDER BY total DESC)
GROUP BY CONTACT_ID
HAVING total = MAX(total)
實際上'ID = 1'也來自一個大的子查詢。那麼有什麼辦法可以分兩步來避免它? – kirtan403
僅適用於所有Android版本或視圖不支持的[公用表表達式](http://www.sqlite.org/lang_with.html)。 –
所以我需要複製整個部分是唯一的解決方案? – kirtan403