Показать сообщение отдельно
Старый 24.05.2022, 07:30   #12  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,894 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от DesparioN Посмотреть сообщение
Еще помучаю, если можно. Написал запрос.
В итоге, если:
1) взять COUNT(Field) order by Field DESC, то получается 2.
2) Если перебором, то получается 3
3) если в п.1 добавить фильтр по номенклатуре e которой реально 3, то получается 3.
Все таки уточню задачу. Я так понимаю, у вас есть что-то типа таблицы товародвижений. Первое поле - некое ключевое поле (типа клиента или номенклатуры), второе поле - что-то считающееся транзакционным - может быть дата, может быть код номенклатуры (если первое поле - код клиента). Задача состоит в том чтобы для каждого значения первого (ключевого) поля, вывести число уникальных значений второго (транзакционного) поля. (типа - сколько раз грузили клиенту, или сколько разных номенклатур покупал клиент).
В таком случае, задача решается так:
1. Создается view1 по основной таблице, во вьюшке оба поля, по обоим полям стоит группировка.
2. Создается view2. View2 построено по view1, сделана группировка по ключевому полю (field1), поставлена функция count(recid) (второе поле тут строго говоря вообще не при делах, сount нужно делать по любому int64 полю, recId -наиболее очевидный кандидат).

Во view2 в итоге будут находится записи в которых для каждого значения ключевого поля во втором поле будет находится число уникальных значений транзакционного поля в оригинальной таблице.