sql分组统计有效的

SELECT
	USERID,
	SUM (
		CASE
		WHEN 字段 = 1 THEN
			1
		ELSE
			0
		END
	) AS 有效数量
FROM
	表名
GROUP BY
	USERID;

一个联表查询的例子(已用户表为基础,左连接分组统计的子表)

SELECT
	UI.USERID,
	CASE
WHEN 表名_temp.有效数量 IS NULL THEN
	0
ELSE
	表名_temp.有效数量
END
FROM
	USERINFO ui
LEFT JOIN (
	SELECT
		USERID,
		SUM (
			CASE
			WHEN 字段 = 1 THEN
				1
			ELSE
				0
			END
		) AS 有效数量
	FROM
		表名
	GROUP BY
		USERID
) 表名_temp ON UI.USERID = 表名_temp.userId;

你可能感兴趣的:(sql,数据库)