|
Поиск максимального значения с группировкой
|
|||
---|---|---|---|
#18+
Добрый день, Есть таблица CURRENCY IDCURRENCY_CODECURRENCY_RATE1RUB0.0172RUB0.0183USD1.1534USD1.154 Курсы иногда обновляются. Актуальным считается курс с максимальным значением в поле ID. Не подскажите, можно ли без подселекта или джойна вытащить последние актуальные курсы по всем валютам? Что то вроде такого. Но тут джойнится то ли случайный, то ли первый попавшийся currency_rate. select max(id),CURRENCY_CODE,CURRENCY_RATE from CURRENCY c group by CURRENCY_CODE; PS. Да, можно так: select CURRENCY_CODE,CURRENCY_RATE from CURRENCY where id in ( select max(id) from CURRENCY c group by CURRENCY_CODE) Но меня интересует именно возможность вытащить это без подселекта ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2019, 16:48 |
|
Поиск максимального значения с группировкой
|
|||
---|---|---|---|
#18+
На восьмой версии - оконной функцией. На пятой - разве что с использованием переменных... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2019, 21:48 |
|
Поиск максимального значения с группировкой
|
|||
---|---|---|---|
#18+
Akina, ещё можно брать max от склейки id (дополненных слева нулями) и CURRENCY_RATE ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2019, 23:42 |
|
Поиск максимального значения с группировкой
|
|||
---|---|---|---|
#18+
retvizanAkina, ещё можно брать max от склейки id (дополненных слева нулями) и CURRENCY_RATEКакая древняя магия! Я уж и забыл про нее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2019, 12:05 |
|
Поиск максимального значения с группировкой
|
|||
---|---|---|---|
#18+
Видимо нельзя. Cамым оптимальным (по explain'y) оказался такой вариант: select id,c.CURRENCY_CODE,(select CURRENCY_RATE from CURRENCY where id=max(c.id)) from CURRENCY c group by c.CURRENCY_CODE; Со склейкой поэкспериментирую, о таком не думал, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 15:57 |
|
Поиск максимального значения с группировкой
|
|||
---|---|---|---|
#18+
Григорий2select idтогда уж select max(id) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2019, 20:35 |
|
Поиск максимального значения с группировкой
|
|||
---|---|---|---|
#18+
retvizanможно брать max от склейки id (дополненных слева нулями) и CURRENCY_RATEТак называемый "бабушкин метод"? ну... можно. Это, конечно, фуллскан, но гарантированно однопроходный - и да, при отсутствии необходимых для решения задачи ранее описанными методами индексов он, скорее всего, даже оптимален. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2019, 07:55 |
|
|
start [/forum/topic.php?fid=47&fpage=36&tid=1829169]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 328ms |
total: | 459ms |
0 / 0 |