2015-09-29 37 views
1

我有如下表:MySQL的左的所有行加入最大值

表成績:

+----+-------+ 
| Id | value | 
+----+-------+ 
| 1 | 300 | 
| 2 | 300 | 
| 3 | 300 | 
| 4 | 100 | 
| 5 | 200 | 
+----+-------+ 

我需要什麼樣的查詢結果:

+----+-------+ 
| Id | value | 
+----+-------+ 
| 1 | 300 | 
| 2 | 300 | 
| 3 | 300 | 
| 4 | 300 | 
| 5 | 300 | 
+----+-------+ 

用什麼我可以實現這個查詢嗎?

(這僅僅是一個複雜的查詢的一部分,這將有很大的幫助,以儘量減少我的代碼)

+2

'選擇id,(SELECT MAX(value)FROM mytable)FROM mytable' –

+0

'select id,max left from left left join(select max(value)as max from max)as maxval'? –

+0

@MarcB我認爲你的意思是'CROSS JOIN' –

回答

1

你可以用返回最高值的查詢cross join表:

SELECT  id, max_value 
FROM  scores 
CROSS JOIN (SELECT MAX(value) AS max_value 
      FROM scores) m