У меня есть данные, которые выглядят так:
+-----+--------+--------+--------+
| ID | score1 | score2 | score3 |
+-----+--------+--------+--------+
| 123 | 14 | 561 | 580 |
| 123 | 626 | 771 | 843 |
| 123 | 844 | 147 | 904 |
| 456 | 922 | 677 | 301 |
| 456 | 665 | 578 | 678 |
| 456 | 416 | 631 | 320 |
+-----+--------+--------+--------+
Я пытаюсь создать еще один столбец, в котором указано, какой показатель является самым высоким среди трех. Помните, я не ищу значение, я ищу имя столбца. Таким образом, окончательный вывод будет выглядеть так:
+-----+--------+--------+--------+------------+
| ID | score1 | score2 | score3 | high_score |
+-----+--------+--------+--------+------------+
| 123 | 14 | 561 | 580 | score3 |
| 123 | 626 | 771 | 843 | score3 |
| 123 | 844 | 998 | 904 | score2 |
| 456 | 922 | 677 | 301 | score1 |
| 456 | 665 | 578 | 678 | score3 |
| 456 | 416 | 631 | 320 | score1 |
+-----+--------+--------+--------+------------+
Я продолжаю пытаться выполнить запрос, включающий RANK()
, включающий PARTITION BY
, но он не дает мне то, что я ищу, и я официальнозастрял.