SQL统计字段内值出现的次数
需要将以下表的目标情况单个字段拆分为两个字段并进行统计:
名字 | 目标情况 |
---|---|
小格 | 已达成 |
小格 | 未达成 |
小伊 | 已达成 |
小伊 | 未达成 |
小伊 | 未达成 |
品品 | 已达成 |
品品 | 未达成 |
戊辰 | 已达成 |
SQL Server:
可以利用SUM
与CASE
的函数配合进行查询:
SELECT
名字,
SUM (
CASE
WHEN 目标情况='已达成' THEN 1
ELSE 0
END ) AS 已达成数,
SUM (
CASE
WHEN 目标情况='未达成' THEN 1
ELSE 0
END) AS 未达成数
FROM person
查询后结果集为:
名字 | 已达成数 | 未达成数 |
---|---|---|
小格 | 1 | 1 |
小伊 | 1 | 2 |
品品 | 1 | 1 |
戊辰 | 1 | 0 |