标记表有3列: id (主键),标记和资源。
我想选择与至少3个资源相关联的标签。资源可以使用相同的标记多次关联,因此单个 GROUP BY 是不够的。
我当前的SQL查询如下:
SELECT tag FROM
(SELECT resource, tag FROM tagging GROUP BY resource, tag) AS tagging
GROUP BY tag HAVING count(*) > 2;
我需要在HQL中转换此请求,而HQL不接受 FROM 子句中的子查询。
是否有(快速)方法在不使用子查询或 WHERE 子句中使用子查询的情况下执行相同的操作?
谢谢
答案 0 :(得分:2)
要查找与超过2种不同资源相关联的标记,您可以使用
SELECT tag
FROM tagging
GROUP BY tag
HAVING count(DISTINCT resource) > 2;