GROUP BY и ORDER BY

Voron

Новичок
GROUP BY и ORDER BY

Потратил много времени на поиск решения.

Таблица у меня след. вида:

ID | CODE | DATE | VALUE
----------------------------------
1 | GAZPROM | 13.04.2020 10:15:00 | -3.32
2 | GAZPROM | 13.04.2020 11:00:00 | 0.34
3 | VTB | 13.04.2020 10:15:00 | 4
4 | VTB | 13.04.2020 11:00:00 | 28.2
5 | URALSIB | 13.04.2020 12:15:00 | -3.5
6 | URALSIB | 13.04.2020 10:15:00 | 2
7 | SONY | 12.04.2020 10:00:00 | 3


В результате выборке мне надо получить уникальные компании (CODE) с послед. обновлением(DATE) и сортировкой по полю рост (VALUE)

Итого должно получится след.:

2 | GAZPROM | 13.04.2020 11:00:00 | 0.34
4 | VTB | 13.04.2020 11:00:00 | 28.2
5 | URALSIB | 13.04.2020 12:15:00 | -3.5
7 | SONY | 12.04.2020 10:00:00 | 3

Помогите как мне правильно сделать запрос?
Пробовал сделать запрос с сортировкой одного поля но все рано возвращает не правильные данные.
PHP:
SELECT * FROM table_name
WHERE VALUE IS NOT NULL AND NOT VALUE = 0
GROUP BY CODE
ORDER BY DATE DESC
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Voron
Последнее обновление будет у тебя не в 10-15, а в 11-00. Итого то, что ты привел выше, (что хотел бы получить) неправильно в первой строчке.

Определись по какому полю сортировка у тебя будет первична
 

Voron

Новичок
c0dex
Прости ошибся, первичная сортировка будет по Дате (DATE)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
говнокодерское решение:

Код:
SELECT * FROM (SELECT id,code,date,value FROM test ORDER BY date DESC, value) as x GROUP BY code ORDER BY date DESC, value;
 
Сверху