|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
aleks222 У вас что древнее из MS SQL. Там этого синтаксиса нет. Извините, но что мне выдал сервер, то я вам и показала... MSSQL2008 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 08:53 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
Julia2000 aleks222 У вас что древнее из MS SQL. Там этого синтаксиса нет. Извините, но что мне выдал сервер, то я вам и показала... MSSQL2008 Извиняю, пользуйтесь ортодоксальным вариантом. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 08:55 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
aleks222 Извиняю, пользуйтесь ортодоксальным вариантом. Чуть выше я вам показала, что он тоже дает неправильный результат. 22429400 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 08:57 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
Julia2000 aleks222 Извиняю, пользуйтесь ортодоксальным вариантом. Чуть выше я вам показала, что он тоже дает неправильный результат. 22429400 Чуть выше я вам растолковал, что "рояль в кустах не виден". В вашем описании значение колонки X не указано. На себя жалуетесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 09:00 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
Julia2000 aleks222 пропущено... У вас еще таинственным образом x участвует. Обобщение на такой случай - задача для младшей ясельной группы. Но вашему словесному описанию задачи результат соответствует: "но до тех пор, пока n не изменится". Рекламация не принимается. Учитесь не только играть, но делать это внятно. x - здесь вообще можно убрать, он вообще никак не участвует. Он необходим в следующей части задачи, которая здесь никак не затрагивается. Просто я в своем тестовом примере его изначально включила... Тогда все правильно. i n x 1 1 1 2 1 2 3 1 3 4 2 1 5 2 1 6 2 2 7 2 3 8 3 1 9 3 1 10 3 2 11 4 1 12 4 1 13 4 2 14 4 2 15 4 3 16 5 1 17 5 2 18 6 1 19 6 2 20 6 3 21 6 4 22 7 1 23 7 2 24 7 3 25 3 3 26 3 3 27 3 3 28 3 3 29 8 1 30 8 2 31 8 2 32 9 1 33 4 4 34 4 4 35 11 1 36 11 2 37 11 3 38 12 2 ------------ 39 4 5 40 4 6 ------------------ 41 10 1 42 10 1 43 10 2 44 10 3 45 4 7 46 4 7 47 4 7 48 4 7 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 09:02 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
aleks222, Честно, я верю, что вы профессионал и все прочее. Но, возможно, я очень плохо объяснила условия задачи. Возможно, у вас просто плохое настроение. Чуть выше я написала, что x вообще никак не участвует. И в моем варианте решения это видно. Исходные данные Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Ваш вариант решения Код: sql 1. 2. 3. 4. 5. 6. 7.
Мой вариант решения Код: 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.
результат при q=1 - все отлично Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
результат при q=13 (( у меня правильно, у вас неправильно Код: 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.
результат при q=11, все отлично (лишнюю строку с null можно потом убрать) Код: 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.
результат при q=39, (( у меня правильно, у вас неправильно Код: 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90.
Возможно, и я даже в этом уверена, что мой код ужасно плохой, неоптимальный (говнокод), но он дает правильный результат. По-моему, это важнее для работы. Да, я прекрасно понимаю, что лучше, когда лучше (профессиональнее и прочее), но я не умею и поэтому посмела опубликовать здесь свое решение и, вдруг, у кого-то будет настроение/желание подсказать, объяснить... Но это не обязательно, это всего лишь личное желание. Фсе! Код: sql 1.
Вот это везде я написала исходя из моего уровня знаний. А именно, большой объем данных, индексы созданы по i и по n. Как я понимаю, что если я результат этого запроса положу во временную таблицу, то там уже, вроде , не работают индексы. Возможно, я не права. За одно я пронумеровала i, чтобы не было разрывов. Возможно, зря. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 10:24 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
Julia2000 aleks222, Честно, я верю, что вы профессионал и все прочее. Но, возможно, я очень плохо объяснила условия задачи. Возможно, у вас просто плохое настроение. Чуть выше я написала, что x вообще никак не участвует. И в моем варианте решения это видно. Мадам, теперь объясните почему запись i = 40 не попадает в выборку @q = 39? i n x ------------ 39 4 5 40 4 6 ------------------ Согласно техзаданию: Julia2000 Смысл, @q - задает количество записей, которые нужны от начала, но, если последующие значения n равны значению n этой строки, то их тоже нужно включить в выборку . Если n есть дальше, но оно прерывалось, то те значения уже не нужны. ЗЫ: А уж потом, я полезу разбираться в дебри вашего кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 12:17 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#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.
А еще уверяют, что музыка сродни математике... Врут-сЪ. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 12:29 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
aleks222, Наверное, потому что у меня есть там - row_number() over(order by ts.i). Я i переделала нумерацию сначала, чтобы избавится от возможных дыр в нумерации. Возможно, я это зря сделала, но меня (заказчика) эта часть полностью устраивает. То есть, еще раз цель, мне необходимо выбрать сколько-то строк сначала (начало/последовательность определяется по i), но с условием, пока n не изменилось их также включить в выборку, все это согласно последовательности по i. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 12:35 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
aleks222 А еще уверяют, что музыка сродни математике... Врут-сЪ. С этим абсолютно согласна! Мне никогда не давалась математика, а с музыкой все прекрасно )) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 12:37 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
39 первых строк. i n x 1 1 1 2 1 2 3 1 3 4 2 1 5 2 1 6 2 2 7 2 3 8 3 1 9 3 1 10 3 2 11 4 1 13 4 2 14 NULL NULL 15 4 2 16 4 3 17 5 1 18 5 2 19 NULL NULL 20 6 1 21 6 2 22 6 3 23 6 4 24 7 1 25 7 2 26 7 3 27 3 3 28 3 3 29 3 3 30 3 3 31 8 1 32 8 2 33 8 2 34 9 1 35 4 4 36 4 4 37 11 1 38 11 2 39 11 3 40 12 2 Теперь "по-слогам": чего в них неправильного? ЗЫ. Я конечно понимаю, что именно. ФОРМАЛЬНО - все по техзаданию. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 12:52 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 12:54 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
aleks222 Код: sql 1. 2. 3. 4. 5. 6. 7.
К этому претензий вообще нет! Видимо, не хватало - where n is not null ) Спасибо! Хотя для меня вообще непонятно %) Но это уже мои проблемы... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 13:27 |
|
выбрать N+ количество строк (пока значение не изменилось)
|
|||
---|---|---|---|
#18+
Julia2000 aleks222 Код: sql 1. 2. 3. 4. 5. 6. 7.
К этому претензий вообще нет! Видимо, не хватало - where n is not null ) Спасибо! Хотя для меня вообще непонятно %) Но это уже мои проблемы... Разруха не в сортирах, разруха в головах. ЗЫ. Если null не нужен и "значением" не считается - это в тех.задании надо указывать. А не в голове держать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 13:47 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1683873]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
185ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 240ms |
total: | 546ms |
0 / 0 |