我有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