|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Привет всем! Для профессионалов это слишком легкая задача! Итак задана таблица: Дата Элемент ЗначенияЭлемента 01.01.2016 X 15 01.02.2016 X 8 01.02.2016 Y 35 01.03.2016 X 5 01.03.2016 Y 6 01.04.2016 X 9 01.02.2016 Z 2 Необходимо вывести состояния Элементов на дату 01.03.2016 Результат будет: Дата Элемент ЗначенияЭлемента 01.03.2016 X 5 01.03.2016 Y 6 01.02.2016 Z 2 Как будет оптимальный sql запрос по данному задачу? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2016, 16:43 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
AlimkulovДля профессионалов это слишком легкая задача! Такой вывод может сделать только профессионал! Значит? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2016, 16:50 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Мой вариант: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2016, 18:15 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
PLAN JOIN (SORT (t Table1 NATURAL), t1 NATURAL) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2016, 18:18 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Alimkulov, ИМХО постановка задачи неполна. Нет описания таблицы. Судя по приведенному плану не нравится два натурала, но ничего про какие-либо индексы в постановке задачи не известно. Еще неплохо бы знать размер этой таблицы. Если индексов таки нет и натурал неизбежен, можно например отсортировать таблицу по "Элемент+Дата desc", выбрать с ограничением сверху по интересующей дате и в процедуре бежать по данным следя за тем когда изменяется "Элемент", в нужный момент выдавая значения по suspend; Но если таблица больша и есть индексы то вероятно нужен другой подход. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 04:48 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
PLAN SORT ((TTT NATURAL)) Тут уже план лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 05:19 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Необходимо вывести ПОСЛЕДНЕЕ состояния Элементов на дату 01.03.2016 В таблице нужен уникальный индекс по "Дата" и "Элемент" Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 06:19 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Bit_ManНеобходимо вывести ПОСЛЕДНЕЕ состояния Элементов на дату 01.03.2016 В таблице нужен уникальный индекс по "Дата" и "Элемент" Код: plsql 1. 2. 3. 4.
запрос не вернет необходимое ТС-у ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 06:25 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Ни фига.запрос не вернет необходимое ТС-у Уверен? Только что проверил на этих данных. Выдает что нужный результат ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 06:43 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Sorry, смотрю на дату, а на значение внимание не обращаю ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 06:46 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Bit_ManSorry, смотрю на дату, а на значение внимание не обращаю Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Должно работать ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 06:49 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Bit_Man, по ходу, план будет как у ТС-а(не проверял, нет компа с FB под рукой), а его это вроде не устраивает ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 07:32 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 08:58 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
__Avenger__, row_number() в каком версии FB? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 09:49 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
fraks, Размер таблицы пока неизвестна. Могут быт 1 тыс. или 500 тыс. строк. Естественно индекс на "Дата" и "Элемент". Что скажите, допустим индексы есть и 500 тыс. строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 09:56 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 10:08 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Alimkulov__Avenger__, row_number() в каком версии FB? 3.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 10:15 |
|
Поиск записей с самыми последними датами
|
|||
---|---|---|---|
#18+
Bit_Man, Да действительно более оптимальный вариант Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
PLAN JOIN (SORT (C Table1 INDEX (Table1_IDX1)), T INDEX (Table1_IDX1)) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2016, 10:20 |
|
|
start [/forum/topic.php?fid=40&msg=39224111&tid=1562203]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 174ms |
0 / 0 |