2012-11-15 51 views
1

我有一張這樣的表格。
如何在6列中找到最大值

+-------------+-------+-------+-------+-------+-------+ 
| studentCode | term1 | term2 | term3 | term4 | term6 | 
+-------------+-------+-------+-------+-------+-------+ 

我想返回每行中術語的最大值。

這樣的:

SELECT studentCode, maxterm FROM my_tbl 

我怎麼能填滿我最大值最大項。
謝謝...

+1

它是一個查看錶嗎?如果不是,你應該考慮改變表格結構,像學生(id,姓名,編碼)等級(student_id,等級,學期) –

+0

這是一個統計表。 –

回答

2

嘗試:

SELECT studentCode, GREATEST(term1, term2, term3, term4, ...) FROM my_tbl 

Source

0

只有幾列,你可以使用if子句。

SELECT IF(`col_1` > `col_2`, `col_1`, `col_2`) AS max FROM `my_table` 
1

使用GREATEST()

select studentCode, 
     greatest(term1, term2, term3, term4, term5, term6) 
from my_tbl; 
0

嘗試使用GREATEST:

SELECT studentCode, GREATEST(term1, term2, term3, term4, term5, term6) 
FROM my_tbl