|
Выборка максимальных записей
|
|||
---|---|---|---|
#18+
Есть таблица с полями id, a, b, c, d...... Мне нужно наложить на таблицу некоторые условия фильтрации, а потом вытащить все записи с максимальным значением поля b в рамках группы a, а если таких записей несколько, то взять с максимальным id Сейчас я родил такого монстра Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 20:34 |
|
Выборка максимальных записей
|
|||
---|---|---|---|
#18+
_Vasilisk_, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 21:11 |
|
Выборка максимальных записей
|
|||
---|---|---|---|
#18+
У меня, с божьим гуглом, как-то так в итоге получилось (но я не настоящий сварщик): Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2020, 01:09 |
|
Выборка максимальных записей
|
|||
---|---|---|---|
#18+
alekcvp, С оконной функцией на реальной таблице быстрее работает, чем с JOIN Пример на таблице 110 тыс. записей C JOIN Код: plaintext 1. 2.
С оконной функцией на той же таблице Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2020, 23:29 |
|
Выборка максимальных записей
|
|||
---|---|---|---|
#18+
Dimbuch®, В ТЗ было "менее громоздкое", а не "более оптимальное" 😁 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2020, 16:26 |
|
Выборка максимальных записей
|
|||
---|---|---|---|
#18+
alekcvp, Пример с INNER JOIN очень хороший. Можно на сообразительность кандидатам на собеседовании давать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2020, 16:40 |
|
Выборка максимальных записей
|
|||
---|---|---|---|
#18+
alekcvp В ТЗ было "менее громоздкое", а не "более оптимальное" 😁 На реальной базе, при минимальной фильтрации мой запрос и Dimbuch выполняются примерно одинаково, менее секунды. (У Dimbuch немного меньше чтения). Твой запрос выполняется порядка 5 секунд ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2020, 15:04 |
|
|
start [/forum/topic.php?fid=40&fpage=10&tid=1560191]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 164ms |
0 / 0 |