22,210
社区成员
发帖
与我相关
我的任务
分享
SELECT a.用户id ,
COUNT(a.删除标记) OVER ( PARTITION BY a.删除标记 ) AS ct
FROM 用户表 a
JOIN ( SELECT 用户id ,
COUNT(DISTINCT 一级标签) AS count
FROM 标签表
WHERE 用户id > 0
AND 删除标记 = 0
AND 一级标签 IN ( 1, 56 ) --把条件都写到这里
GROUP BY 用户id
HAVING COUNT(DISTINCT 一级标签) = 2 --这里等于条件数量
) AS a0 ON a.用户id = a0.用户id
[/quote] 这个标签有四级的.. [/quote]
那可以写四个where条件和四个having判断SELECT a.用户id ,
COUNT(a.删除标记) OVER ( PARTITION BY a.删除标记 ) AS ct
FROM 用户表 a
JOIN ( SELECT 用户id ,
COUNT(DISTINCT 一级标签) AS count
FROM 标签表
WHERE 用户id > 0
AND 删除标记 = 0
AND 一级标签 IN ( 1, 56 ) --把条件都写到这里
GROUP BY 用户id
HAVING COUNT(DISTINCT 一级标签) = 2 --这里等于条件数量
) AS a0 ON a.用户id = a0.用户id
[/quote] 这个标签有四级的.. SELECT a.用户id ,
COUNT(a.删除标记) OVER ( PARTITION BY a.删除标记 ) AS ct
FROM 用户表 a
JOIN ( SELECT 用户id ,
COUNT(DISTINCT 一级标签) AS count
FROM 标签表
WHERE 用户id > 0
AND 删除标记 = 0
AND 一级标签 IN ( 1, 56 ) --把条件都写到这里
GROUP BY 用户id
HAVING COUNT(DISTINCT 一级标签) = 2 --这里等于条件数量
) AS a0 ON a.用户id = a0.用户id