Size: a a a

2020 September 20

Д

Дима in learn.java
Либо какой-то косяк с установкой
источник

F

Farid in learn.java
Филипп
посмотрите папки C:\Program Files
источник

g

guga in learn.java
Филипп
Что в консоле пишет, когда делаешь java -version
источник

Ф

Филипп in learn.java
guga
Что в консоле пишет, когда делаешь java -version
А сюда видео можно скинуть?
Я бы заснял
источник

Ф

Филипп in learn.java
Farid
посмотрите папки C:\Program Files
Спасибо
источник

RG

Rinchin G in learn.java
Подскажите плиз по sql

есть табличка
select * from test
+----+----------+-------------+
| id | status   | instance_id |
+----+----------+-------------+
|  1 | COMPLETE | 1           |
|  2 | RUNNING  | 1           |
|  3 | CANCEL   | 1           |
|  4 | COMPLETE | 2           |
|  5 | COMPLETE | 2           |
|  6 | RUNNING  | 2           |
+----+----------+-------------+

в которой показано выполнение каких то задач на 3 серверах
хочу сделать отчет выборку
если имеется CANCEL то CANCEL
иначе если имеется RUNNING - то RUNNING
иначе COMPLETE

знаю что можно создать отдельную табличку и в ней для статуса задать цифровые значения и выбирать допустим минимальный

типа
select instance_id, min(status) from test group by instance_id;

а вот как нить это можно сделать с литералами?
источник

🇹

🇹 🇺 🇲 🇦🇳... in learn.java
Совет для начинающих, начьните
источник

A

Anton in learn.java
Rinchin G
Подскажите плиз по sql

есть табличка
select * from test
+----+----------+-------------+
| id | status   | instance_id |
+----+----------+-------------+
|  1 | COMPLETE | 1           |
|  2 | RUNNING  | 1           |
|  3 | CANCEL   | 1           |
|  4 | COMPLETE | 2           |
|  5 | COMPLETE | 2           |
|  6 | RUNNING  | 2           |
+----+----------+-------------+

в которой показано выполнение каких то задач на 3 серверах
хочу сделать отчет выборку
если имеется CANCEL то CANCEL
иначе если имеется RUNNING - то RUNNING
иначе COMPLETE

знаю что можно создать отдельную табличку и в ней для статуса задать цифровые значения и выбирать допустим минимальный

типа
select instance_id, min(status) from test group by instance_id;

а вот как нить это можно сделать с литералами?
С такой логикой никак - если уже CANCEL или COMPLETE, значит RUNNING тоже есть.
С другой логикой можно литералы оператором CASE преобразовать в цифры
RUNNING = 0, CANCEL=1, COMPLETE=2 и выбирать максимальное
источник

RG

Rinchin G in learn.java
спасибо
источник

A

Anton in learn.java
Rinchin G
спасибо
Но суровые java-программисты так не делают, потому что sql - враг java-программиста и это было бы слишком просто. Они признают базу только как хранилище, поэтому тянут всю таблицу в java и пишут логику на энтити с компаратоторами и енумами ;)
источник

RG

Rinchin G in learn.java
ну в принципе я так и делаю, только заворачиваю этот sql в jooq )
источник

Д

Дима in learn.java
Anton
Но суровые java-программисты так не делают, потому что sql - враг java-программиста и это было бы слишком просто. Они признают базу только как хранилище, поэтому тянут всю таблицу в java и пишут логику на энтити с компаратоторами и енумами ;)
источник

RG

Rinchin G in learn.java
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 |
+-------------+--------------+


как это цифровое значение развернуть обратно в строку?
источник

СШ

Слышал Шорохи... in learn.java
Rinchin G
написал такой 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 |
+-------------+--------------+


как это цифровое значение развернуть обратно в строку?
Чувак тебе туда @ru_mysql
источник
2020 September 21

A

Anton in learn.java
Rinchin G
написал такой 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 |
+-------------+--------------+


как это цифровое значение развернуть обратно в строку?
Так же. А можно было использовать оконную функцию max () over () и сразу получить нужный вид.
источник

AN

Alpha Nerd in learn.java
Rinchin G
ну в принципе я так и делаю, только заворачиваю этот sql в jooq )
Кстати, интересно было бы почитать сравнение двух подходов (database first и business logic first) на реальных проектах. В документации все вроде логично и очевидно, а вот в реале как-то всё смазывается.
источник

A

Anton in learn.java
Alpha Nerd
Кстати, интересно было бы почитать сравнение двух подходов (database first и business logic first) на реальных проектах. В документации все вроде логично и очевидно, а вот в реале как-то всё смазывается.
Ну вот например - события фёрст
https://youtu.be/hev65ozmYPI
источник

Ф

Филипп in learn.java
Проблема так и не решена
источник

Ф

Филипп in learn.java
Переслано от Филипп
Да у меня тут проблемка возникла с установкой JDK. Пишет что версия уже установлена.
Хотел спросить как установить её
источник

Ф

Филипп in learn.java
источник