|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
Добрый день, всем. Есть такая табличка: Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
Возможно ли, как-то, запросом получить непрерывный диапазоны квартир с одинаковой стоимостью. Ключевые поля для отбора: Код Ул., №дома, корп. На номер по порядку можно не реагировать, его легко можно изменить ;) Другими словами получить вот такое: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 11:59 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
№дома, код ул. и корп. чуть-чуть сместились ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 12:00 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, WHERE ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 12:02 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
Оконные функции?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 12:23 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, если непрерывность диапазона квартир относительно ключевых полей где-то прерывается, тогда что надо получить? Максимально большой диапазон? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 12:58 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
rdb_devakrush, если непрерывность диапазона квартир относительно ключевых полей где-то прерывается, тогда что надо получить? Максимально большой диапазон? 2 диапазона с разрывом ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:10 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrushДругими словами получить вот такое: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:13 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
S.G.akrushДругими словами получить вот такое: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:15 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
проще всего это сделать хранимой процедурой или execute block ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:18 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrushrdb_devakrush, если непрерывность диапазона квартир относительно ключевых полей где-то прерывается, тогда что надо получить? Максимально большой диапазон? 2 диапазона с разрывомих может быть и больше чем два. в общем виде, для одной стоимости, у вас может получиться что-то вида: 278-280, 299-299, 320-323 и т.д. Вы все-таки пересмотрите, что именно надо получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:20 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, если не сложно, предоставь данные в удобном для использования виде (через create table / insert или через WITH), ну, чтобы их можно было тупо скопировать в окне браузера, вставить в окно гонялки запросов, нажать кнопку "выполнить" и чтоб оно заработало.... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:21 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
Добрый Э - Эх, но вообще - группировка по инварианту группы на разности двух разнооконных ROW_NUMBER-ов либо, START_OF_GROUP метод на LEAD/LAG + последующий накопительный итог (SUM() OVER(order by)) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:25 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, что-то я не наблюдаю explain набора строк - имя источника строк и имена полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:29 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
Добрый Э - Эхakrush, если не сложно, предоставь данные в удобном для использования виде (через create table / insert или через WITH), ну, чтобы их можно было тупо скопировать в окне браузера, вставить в окно гонялки запросов, нажать кнопку "выполнить" и чтоб оно заработало.... Скрипт с инсертами ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 16:27 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, Если бы поле с номером квартиры было бы числового типа, или хотя бы не содержало буквенные символы, то запрос мог бы иметь примерно такой вид: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Но наличие буквенных символов делает неприменимым к полю числовой арифметики. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 05:01 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
Добрый Э - Эх, Спасибо, попробую. Этого будет достаточно. Квартиры с буквами можно взять отдельно и добавить в итоговую таблицу. Сейчас попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 08:29 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
Добрый Э - Эх, ibexpert ругается на over( ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 09:22 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, версия firebird какая? Оконные функции появились в 3.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 09:23 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
Симонов Денис, сори, забыл указать 2,5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 09:45 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, если 2.5 то хранимка или execute block ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 10:34 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, тогда уже проще при помощи хранимой процедуры делать. но в целом, запрос мог бы выглядеть как-то так: Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 11:08 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, как считать разрыв номеров квартир более чем на единицу, если поля flat1 и flat2 символьные и могут содержать литеры? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 11:39 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, если поля flat сделать числовыми, а символьные постфиксы вынести в отдельное поле, то, в общих чертах, процедура выглядит так: Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 11:51 |
|
Как определить/получить диапазон
|
|||
---|---|---|---|
#18+
akrush, хочу приобрести вот эти квартиры: PRICESTREET_IDBLD_NUMBLD_LITFLAT_FROMFLAT_TO0.01114330.0421а12120.0214330.0111411 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 11:59 |
|
|
start [/forum/topic.php?fid=40&fpage=29&tid=1560923]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
92ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 213ms |
0 / 0 |