[英]mysql left join max value on all rows
我有下表:
表分數:
+----+-------+
| Id | value |
+----+-------+
| 1 | 300 |
| 2 | 300 |
| 3 | 300 |
| 4 | 100 |
| 5 | 200 |
+----+-------+
由於查詢的結果,我需要什么:
+----+-------+
| Id | value |
+----+-------+
| 1 | 300 |
| 2 | 300 |
| 3 | 300 |
| 4 | 300 |
| 5 | 300 |
+----+-------+
我可以通過什么查詢來實現?
(這只是一個復雜查詢的一部分,這將有助於最大程度地減少我的代碼)
您可以使用返回最大值的查詢來cross join
表:
SELECT id, max_value
FROM scores
CROSS JOIN (SELECT MAX(value) AS max_value
FROM scores) m
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.