Sql 对表或查询进行加密以在红移(可能是union all查询)中取消填充数据。 select t.*, (case greatest(score1, score2, score3) when score1 then 's
对表或查询进行加密以在红移(可能是union all查询)中取消填充数据。Sql 对表或查询进行加密以在红移(可能是union all查询)中取消填充数据。 select t.*, (case greatest(score1, score2, score3) when score1 then 's,sql,amazon-redshift,Sql,Amazon Redshift,对表或查询进行加密以在红移(可能是union all查询)中取消填充数据。 select t.*, (case greatest(score1, score2, score3) when score1 then 'score1' when score2 then 'score2' when score3 then 'score3' end) as high_score_name,
select t.*,
(case greatest(score1, score2, score3)
when score1 then 'score1'
when score2 then 'score2'
when score3 then 'score3'
end) as high_score_name,
greatest(score1, score2, score3) as high_score
from t;
+------+----------+----------+----------+--------------+
| ID | score1 | score2 | score3 | high_score |
+------+----------+----------+----------+--------------+
| 123 | 14 | 561 | 580 | score3 |
| 456 | 626 | 771 | 843 | score3 |
| 789 | 844 | 998 | 904 | score2 |
| 111 | 922 | 677 | 301 | score1 |
| 222 | 665 | 578 | 678 | score3 |
| 333 | 416 | 631 | 320 | score2 |
+------+----------+----------+----------+--------------+
+------+----------+----------+----------+--------------+--------------+
| ID | score1 | score2 | score3 | high_score | second_score |
+------+----------+----------+----------+--------------+--------------+
| 123 | 14 | 561 | 580 | score3 | score2 |
| 456 | 626 | 771 | 843 | score3 | score2 |
| 789 | 844 | 998 | 904 | score2 | score3 |
| 111 | 922 | 677 | 301 | score1 | score2 |
| 222 | 665 | 578 | 678 | score3 | score1 |
| 333 | 416 | 631 | 320 | score2 | score1 |
+------+----------+----------+----------+--------------+--------------+
select (case when score1 not in (least(score1, score2, score3), greatest(score1, score2, score3))
then 'score1'
when score1 not in (least(score1, score2, score3), greatest(score1, score2, score3))
then 'score2'
when score1 not in (least(score1, score2, score3), greatest(score1, score2, score3))
then 'score3'
end) as second_score
id score score_number
123 14 1
123 561 2
123 580 3
. . .
# id high_score_label second_score_label high_score second_score
1 111 score1 score2 922 677
2 123 score3 score2 580 561
3 222 score3 score1 678 665
4 333 score2 score1 631 416
5 456 score3 score2 843 771
6 789 score2 score3 998 904