You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server统计plate表中plate重复与非重复占比的实现方法

实现车牌出现次数占比统计的SQL方案

要统计仅出现一次的车牌占比和出现多次的车牌占比,你可以通过分层统计来实现,以下是具体的SQL语句和说明:

简洁版查询语句

SELECT
    CASE 
        WHEN cnt = 1 THEN '仅出现一次'
        ELSE '出现多次'
    END AS 类别,
    CONCAT(ROUND(COUNT(*) * 100.0 / (SELECT COUNT(DISTINCT plate) FROM dbo.plate), 2), '%') AS 占比
FROM (
    -- 先统计每个车牌的出现次数
    SELECT plate, COUNT(*) AS cnt
    FROM dbo.plate
    GROUP BY plate
) t
-- 按出现次数分类统计
GROUP BY CASE 
        WHEN cnt = 1 THEN '仅出现一次'
        ELSE '出现多次'
    END;

分步解释

  1. 内层子查询:对plate字段分组,统计每个车牌的出现次数,得到每个车牌的频次数据。
  2. 分类统计:通过CASE语句将车牌分为"仅出现一次"和"出现多次"两类,统计每类的车牌数量。
  3. 计算占比:用每类的车牌数量除以唯一车牌的总数(通过SELECT COUNT(DISTINCT plate)获取),乘以100后保留两位小数,拼接百分号得到占比结果。

原有语句的问题说明

你之前写的语句只能统计出现多次的车牌数量,但没有计算占比,也未覆盖"仅出现一次"的统计场景,因此无法得到所需的百分比结果。

内容的提问来源于stack exchange,提问作者Georg Huber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:45:36