У меня следующий запрос:
SELECT DISTINCT w.name, count(*) FROM widgets AS w
JOIN w.entity AS e
JOIN e.article AS a
JOIN a.document AS d
WHERE d.id IN (<document ids>)
GROUP BY w.name
Проблема в том, что count(*)
возвращает количество ассоциаций виджета-сущности. Вместо этого я ищу количество уникальных имен виджетов для каждой статьи или документа.
Вот пример:
Допустим, у меня есть две сущности: cat
и dog
.
У меня также есть два разных виджета с одинаковым именем foo
.
Каждый из виджетов foo
связан с одним из объектов (один с cat
, другой с dog
).
Обе cat
и dog
связаны со статьей animals
.
например, число, возвращаемое этим запросом, равно только 1 (потому что имя виджета foo
встречается в статье только один раз animals
) вместо 2.
Я попытался поместить другие вещи в пункт count, например, count(d.id)
, но безуспешно.