我有test_scores
表以下字段:最大值之間4列
表架構:
id (number)
score1 (number)
score2 (number)
score3 (number)
score4 (number)
樣本數據:
id score1 score2 score3 score4
1 10 05 30 50
2 05 15 10 00
3 25 10 05 15
預期結果設置:
id col_name col_value
1 score4 50
2 score2 15
3 score1 25
什麼是一個很好的SQL?(我使用MySQL。)
原來的規定沒有包括在該行集中的山坳名。我是能夠得到使用下面的SQL結果:
SELECT A.id, MAX(A.score) AS max_score
FROM (
SELECT id, score1 as score FROM test_scores UNION
SELECT id, score2 as score FROM test_scores UNION
SELECT id, score3 as score FROM test_scores UNION
SELECT id, score4 as score FROM test_scores
) AS A
GROUP BY A.id
但引進的結果集我難倒COL_NAME的..
所有這一次,我從來不知道'CASE' – 2010-04-16 23:26:17