|
List?
|
|||
---|---|---|---|
#18+
Victor CookinИ зачем требует group by column_id , когда надо order by column_id?Потому что формальный язык не должен додумывать за тебя, ошибся ли ты в сортировке или группировке. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 18:41 |
|
List?
|
|||
---|---|---|---|
#18+
Victor CookinПожалуйста поподробнее. Где в моём примере группа и сортировка внутри группы? У меня есть сортировка исходного запроса и всё, а больше мне (в данном случае) ничего не надо. И зачем требует group by column_id , когда надо order by column_id? Группировка бывает явная при указании GROUP BY или неявная при использовании агрегатных функций. В SYBASE LIST это: Код: plsql 1.
Посему: Код: plsql 1. 2. 3. 4.
вначале сгруппирует все строки в одну группу и сконкатенирует все имена полей таблицы ESTABLISHMENT в произвольном порядке. В результате получим ровно одну строку. Да, формально мы можем добавить order by column_id но согласись сортировка одной строки занятие ну ооочень занимательное . И никто не говорил тебе нужно group by column_id. Тебе нужно order by column_id при конкатенации имен полей. А это указывается в самой LIST, а не в ORDER BY запроса: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Т.e. твоя хотлка выглядит так: Код: plsql 1. 2. 3.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 18:55 |
|
List?
|
|||
---|---|---|---|
#18+
SYДа, формально мы можем добавить order by column_id но согласись сортировка одной строки занятие ну ооочень занимательное . Никакой сортировки внутри строки нет. Идёт просто конкатенация поля из запроса. SYИ никто не говорил тебе нужно group by column_id. а вот: Код: plsql 1.
SYТебе нужно order by column_id при конкатенации имен полей. А это указывается в самой LIST, а не в ORDER BY запроса Да не хочу я строку сортировать. Строку кроме как по алфавиту и не от сортируешь. Мне достаточно сортировки в запросе ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 20:27 |
|
List?
|
|||
---|---|---|---|
#18+
Victor Cookinне хочу я строку сортировать. Строку кроме как по алфавиту и не от сортируешь. Мне достаточно сортировки в запросе Иногда лучше жевать, чем говорить (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 20:49 |
|
List?
|
|||
---|---|---|---|
#18+
-2-Потому что формальный язык не должен додумывать за тебя, ошибся ли ты в сортировке или группировке. А у меня вообще нет группировки, вернее, группировка ВСЕ. Мне кажется она должна быть по умолчанию. Ведь есть же она в некоторых других аггрегатных функциях, например AVG: Код: plsql 1. 2. 3.
Можно, кончно, добавить что-то типа Код: plsql 1.
а потом долго думать что это было и почему работает ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 23:15 |
|
List?
|
|||
---|---|---|---|
#18+
Victor Cookin, Про детерминизм результата группировки не думал? А avg, sum, count и тд он есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2019, 23:50 |
|
List?
|
|||
---|---|---|---|
#18+
Victor CookinДа не хочу я строку сортировать. Строку кроме как по алфавиту и не от сортируешь. Мне достаточно сортировки в запросе Пoследняя попытка. ORDER BY выполняется последним и сортирует результат всех предыдущих шагов. Т.e. шаг пeрвый это выборка всех строк где table_name = 'ESTABLISHMENT'. Шаг второй это конкатенация значений поля column_name всех выбранных строк. Т.е. результат второго шага это одна строка. Вот к ней и будет применен шаг трeтий - ORDER BY который и произведет бессмысленную сортировку. Так-что ORDER BY в твоем SELECTе - не пришей кобыле хвост. Результат что с ним, что без него это конкатенация значений имен полей таблицы ESTABLISHMENT в произвольном порядке. Victor CookinСтроку кроме как по алфавиту и не от сортируешь. И тут ты не догоняешь. ORDER BY внутри LIST cортирует ROWS в группе. И в отличие от statement level этот ORDER BY выполнится как часть второго шага. Например: Код: plsql 1.
сконкатенирует имена полей таблицы ESTABLISHMENT в том порядке в котором они заданы в таблице. А Код: plsql 1.
сконкатенирует имена полей таблицы ESTABLISHMENT в порядке их типа данных. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 00:12 |
|
List?
|
|||
---|---|---|---|
#18+
xtenderПро детерминизм результата группировки не думал? А avg, sum, count и тд он есть.За avg и sum я бы не вписывался. Результат может зависеть от порядка суммирования. С count distinct тоже есть нюансы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 07:07 |
|
List?
|
|||
---|---|---|---|
#18+
Victor Cookinа где уже не обязательна? в Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.3.0.0.0 ошибки не выдает 21887033 формально такое поведение можно считать и багом Код: plsql 1. 2. 3. 4. 5. 6. 7.
.... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 09:08 |
|
List?
|
|||
---|---|---|---|
#18+
-2-xtenderПро детерминизм результата группировки не думал? А avg, sum, count и тд он есть.За avg и sum я бы не вписывался. Результат может зависеть от порядка суммирования.Как так? -2-С count distinct тоже есть нюансы.А это как? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 12:31 |
|
List?
|
|||
---|---|---|---|
#18+
AmKad-2-За avg и sum я бы не вписывался. Результат может зависеть от порядка суммирования.Как так? Потеря точности Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 12:58 |
|
List?
|
|||
---|---|---|---|
#18+
Многие тут говорят про сортировку одной строки и забывают про 00979 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 13:18 |
|
List?
|
|||
---|---|---|---|
#18+
ElicAmKadпропущено... Как так?Потеря точности А с сортировками есть ньюанс в виде ограничения на длину ключа сортировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 13:18 |
|
List?
|
|||
---|---|---|---|
#18+
andrey_anonymousElicпропущено... Потеря точности А с сортировками есть ньюанс в виде ограничения на длину ключа сортировки. в доке ньюанс не описали (видать считают что и так понятно) The order_by_clause determines the order in which the concatenated values are returned. The function is deterministic only if the ORDER BY column list achieved unique ordering. .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 13:48 |
|
List?
|
|||
---|---|---|---|
#18+
Staxв доке ньюанс не описали (видать считают что и так понятно) The order_by_clause determines the order in which the concatenatedТы уже выпал из темы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 13:50 |
|
List?
|
|||
---|---|---|---|
#18+
AmKad-2-С count distinct тоже есть нюансы.А это как? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 13:56 |
|
List?
|
|||
---|---|---|---|
#18+
ElicТы уже выпал из темы. да я не очень то и впадал в тему просто интересно 1) как поведет себя сортировка в случае MAX_STRING_SIZE = EXTENDED 2) почему "неоптимально" (с запасом) реализовали ON OVERFLOW TRUNCATE ps мне ето не надо, просто по старинке интересно ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 14:00 |
|
List?
|
|||
---|---|---|---|
#18+
andreymxМногие тут говорят про сортировку одной строки и забывают про 00979 Перечитай мой отвeт тебе-же: SYПосему ORDER BY в примере от Victor Cookin произведет сортировку одной строки т.к. неявная группировкa а при явной нибо вылетит с "not a GROUP BY expression" либо отсортирует уже сгруппированные строки (если поле в ORDER BY присутствует в GROUP BY) . SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 14:59 |
|
List?
|
|||
---|---|---|---|
#18+
-2- Код: plsql 1.
А что у этого зверя под капотом? Сохранение параметров с последующим их сравнением? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 16:22 |
|
List?
|
|||
---|---|---|---|
#18+
AmKad-2- Код: plsql 1.
А что у этого зверя под капотом? Сохранение параметров с последующим их сравнением?Состояния нет. Сравнение значений детерминировано = строки имеют общий символ: ab = bc bc = cd ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 17:53 |
|
List?
|
|||
---|---|---|---|
#18+
SYПoследняя попытка. ORDER BY выполняется последним и сортирует результат всех предыдущих шагов. а я не хочу никаких сортировок последним шагом, последним шагом я хочу ТОЛЬКО выполнение аггрегатной функции. По-моему, это логично. Так делается НЕ в Оракле и, по-моему, такой вариант - именно то, что часто и нужно. А Вы всё о том, как это делается в Оракле. Да зарадибога SYРезультат что с ним, что без него это конкатенация значений имен полей таблицы ESTABLISHMENT в произвольном порядке. Ну да, а в Sybase не в произвольном. SYVictor CookinСтроку кроме как по алфавиту и не от сортируешь. И тут ты не догоняешь. ORDER BY внутри LIST cортирует ROWS в группе. И в отличие от statement level этот ORDER BY выполнится как часть второго шага Ну вот. Есть строка (и больше ничего - перечитайте мой текст). Какие ещё ROWS? Point: Почему не сделать аггрегатные функции именно аггрегатными - то есть не трогать Recodset под ним? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2019, 22:44 |
|
List?
|
|||
---|---|---|---|
#18+
Victor CookinPoint Вот интересно, Victor Cookin - это толстый тролль или реальный неадекват? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 01:30 |
|
List?
|
|||
---|---|---|---|
#18+
Victor CookinПочему не сделать аггрегатные функции именно аггрегатными - то есть не трогать Recodset под ним?Какие функции обязывают "трогать"? Знаю first/last, cume_dist, percentile_ и всякие _rank. В чем их смысл, как не в сортировке? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 06:59 |
|
List?
|
|||
---|---|---|---|
#18+
andrey_anonymousВот интересно, Victor Cookin - это толстый тролль или реальный неадекват?Однохренственно. Тратить именно на него время - бессмысленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 07:47 |
|
List?
|
|||
---|---|---|---|
#18+
-2-AmKadпропущено... А что у этого зверя под капотом? Сохранение параметров с последующим их сравнением?Состояния нет. Сравнение значений детерминировано = строки имеют общий символ: ab = bc bc = cd предыдущее значение разве ето не состояние? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2019, 08:19 |
|
|
start [/forum/topic.php?fid=52&msg=39816151&tid=1882432]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 277ms |
total: | 402ms |
0 / 0 |