我的表PAYMENT_STATUS有這些字段:MySQL的組通過最後一項
- ID
- payment_id
- 狀態
- 創建
- CREATED_BY
許多條目可能具有相同的payment_id ...所以,我想獲得一個payment_id的最後狀態...
我有這個請求的工作,但需要太多的時間來加載...我想有一個優化的版本,以payment_id分組,並採取最後一個狀態。
SELECT pstatus.*
FROM `payment_status` AS pstatus
WHERE pstatus.id = (
SELECT id
FROM `payment_status`
WHERE pstatus.status = '200'
ORDER BY created DESC
LIMIT 1
)
GROUP BY pstatus.payment_id
ORDER BY pstatus.payment_id DESC
那麼,您是否想要像查詢中所說的那樣獲得最後一個付款ID_的狀態_或者_對於所有付款_您似乎在查詢中正在執行的操作?實際上,你的內部查詢是錯誤的,並且將根據外部查詢的'pstatus.status'是否爲'''',而不僅僅是那些具有'payment_id'匹配的查詢來排序_none_或_all_支付行。 – lanzz
你在那裏得到了很多好的建議。 –
請評價並接受適合您的答案。 –