AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.07.2014, 23:09   #1  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Здорово, что тема order by, наконец, раскрыта.
А вот где собственно про GROUP BY и/или совместное использование, или я не правильно понял и прочитал тему сообщения?
__________________
Axapta book for developer
Старый 29.07.2014, 08:25   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от MikeR Посмотреть сообщение
Здорово, что тема order by, наконец, раскрыта.
А вот где собственно про GROUP BY и/или совместное использование, или я не правильно понял и прочитал тему сообщения?
Для GROUP BY те же правила что и для ORDER BY.

Думаю не секрет, что группируя данные в запросе аксапта выполняет ещё и сортировку результата. В аксапте нельзя сгруппировать и при этом не отсортировать. К слову сказать, именно для этого направление сортировки ASC/DESC в аксапте имеет смысл (и это разрешено синтаксисом) задавать не только для ORDER BY, но и для GROUP BY.

Последовательность полей в предложении GROUP BY важна именно с точки зрения сортировки полученного сгруппированного результата.
Старый 29.07.2014, 21:21   #3  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
...К слову сказать, именно для этого направление сортировки ASC/DESC в аксапте имеет смысл (и это разрешено синтаксисом) задавать не только для ORDER BY, но и для GROUP BY.
Я про то, что использовать вместе и GROUP BY и ORDER BY, причем ORDER BY какой-нить хитрый не те поля берет, что в GROUP BY , да и сортировочку разнонаправленную сделать. Ну как в классическом TSQL. Не могу сказать, что эта фича сильно востребована. Думаю и уверен, что даже наоборот в хорошо спроектированном приложение, такие выкрутасы даже не очень то и нужны, но всегда в жизни бывает НО.
Я, как бы это сказать, просто подумал, что это уже реализовали, просто я не знал.
А это вроде, как для меня, были вещи очевидные, сорри.
__________________
Axapta book for developer
Старый 30.07.2014, 08:34   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от MikeR Посмотреть сообщение
Я про то, что использовать вместе и GROUP BY и ORDER BY, причем ORDER BY какой-нить хитрый не те поля берет, что в GROUP BY , да и сортировочку разнонаправленную сделать. Ну как в классическом TSQL. Не могу сказать, что эта фича сильно востребована. Думаю и уверен, что даже наоборот в хорошо спроектированном приложение, такие выкрутасы даже не очень то и нужны, но всегда в жизни бывает НО.
Я, как бы это сказать, просто подумал, что это уже реализовали, просто я не знал.
А это вроде, как для меня, были вещи очевидные, сорри.
Никогда не понимал эту проблему. Все жалуются на то что в аксапте нельзя использовать ORDER BY совместно с GROUP BY. Я же вижу что в аксапте наоборот нельзя группировать и при этом НЕ сортировать. С точки зрения производительности, когда мне сортировка не важна, а важна только группировка это да - недостаток. Но с точки зрения функциональности - никаких ограничений в связи с этим я не вижу.

Может я что-то не понимаю. Можете привести пример такой хитровывернутой группировки с сортировкой в классическом TSQL, которую нельзя реализовать в аксапте.
Старый 30.07.2014, 09:19   #5  
Ярослав Щекин is offline
Ярослав Щекин
Участник
 
78 / 174 (6) ++++++
Регистрация: 16.03.2009
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Может я что-то не понимаю. Можете привести пример такой хитровывернутой группировки с сортировкой в классическом TSQL, которую нельзя реализовать в аксапте.
А чего тут выворачивать-то? Например, так:
Код:
SELECT ITEMID, COUNT(*)
FROM INVENTTRANS
GROUP BY ITEMID
ORDER BY COUNT(*)
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 30.07.2014, 09:44   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Ярослав Щекин Посмотреть сообщение
А чего тут выворачивать-то? Например, так:
Код:
SELECT ITEMID, COUNT(*)
FROM INVENTTRANS
GROUP BY ITEMID
ORDER BY COUNT(*)
Спасибо. Понятно. Но я бы связал такое ограничение с невозможностью использовать в предложениях ORDER BY и GROUP BY вообще какие-либо выражения. Разрешены только поля!

Вот такой запрос, например, тоже не получится на X++ реализовать, и совместное использование ORDER BY и GROUP BY здесь не причем.
Код:
SELECT *
FROM INVENTTRANS
ORDER BY INVENTTRANS.COSTAMOUNT / INVENTTRANS.QTY
Старый 31.07.2014, 11:25   #7  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Вот такой запрос, например, тоже не получится на X++ реализовать, и совместное использование ORDER BY и GROUP BY здесь не причем.
Код:
SELECT *
FROM INVENTTRANS
ORDER BY INVENTTRANS.COSTAMOUNT / INVENTTRANS.QTY
Без использования доп.переменных - нет, но с ними можно ))
Теги
group by, order by, select, x++, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX Sustained Engineering: KB 2973728 - When changing the vendor on a purchase requisition, and releasing the requisition to a purchase order, sales tax group and default dimensions are not updated on the purchase order and lines Blog bot DAX Blogs 0 29.06.2014 00:15
atinkerersnotebook: Using Service Management to Track Service Orders Blog bot DAX Blogs 1 25.08.2013 19:16
dynamicsaxtraining: Vendor returns Blog bot DAX Blogs 0 11.10.2012 00:11
dynamicsaxtraining: Purchase Blog bot DAX Blogs 0 11.03.2012 05:25
dynamicsaxtraining: Create purchase order Blog bot DAX Blogs 0 14.12.2009 14:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:10.