Anton
Но суровые java-программисты так не делают, потому что sql - враг java-программиста и это было бы слишком просто. Они признают базу только как хранилище, поэтому тянут всю таблицу в java и пишут логику на энтити с компаратоторами и енумами ;)
написал такой sql
select instance_id, status, CASE when status = 'COMPLETE' then 1 WHEN status = 'RUNNING' then 2 WHEN status = 'CANCEL' then 3 end as "digit status" from test;
далее получил вроде такого
+-------------+----------+--------------+
| instance_id | status | digit status |
+-------------+----------+--------------+
| 1 | COMPLETE | 1 |
| 1 | RUNNING | 2 |
| 1 | CANCEL | 3 |
| 2 | COMPLETE | 1 |
| 2 | COMPLETE | 1 |
| 2 | RUNNING | 2 |
+-------------+----------+--------------+
теперь пытаюсь сгруппировать
select instance_id, max(CASE when status = 'COMPLETE' then 1 WHEN status = 'RUNNING' then 2 WHEN status = 'CANCEL' then 3 end) as "digit status" from test
group by instance_id
+-------------+--------------+
| instance_id | digit status |
+-------------+--------------+
| 1 | 3 |
| 2 | 2 |
+-------------+--------------+
как это цифровое значение развернуть обратно в строку?