如何统计sql server中按备注分组的记录条数

问题描述 投票:0回答:1

如何统计每条评论的记录。每个备注在备注栏值内都有不同的编号。我需要根据备注内容而不是 cid### 对记录进行分组。需要按备注分组,但是每个备注都有一些cid的动态变量。不包括cid号需要分组

示例 - 备注

Remark1-cid11
Remark1-cid22
Remark1-cid33

Group1 的数量应为 3

样本数据

**Remark               Id    CreatedOn                        ProcessName**
Remark1-cid22          1    2023-12-27 18:02:54.4102746      P1
Remark2-cid23          2    2023-12-27 18:02:54.4102746      P1
Remark3-cid24          3    2023-12-27 18:02:54.4102746      P1
Remark4-cid25          4    2023-12-27 18:02:54.4102746      P1
Remark1-cid26          5    2023-12-27 18:02:54.4102746      P1
Remark2-cid27          6    2023-12-27 18:02:54.4102746      P1
Remark3-cid28          7    2023-12-27 18:02:54.4102746      P1
Remark4-cid29          8    2023-12-27 18:02:54.4102746      P1

所需输出

**CreatedOn Remark Count** Group 
2023-12-27 Remark1   2      Group1
2023-12-27 Remark2   2      Group2
2023-12-27 Remark3   2      Group3
2023-12-27 Remark4   2      Group4 

我尝试过的查询

select Remark,Count (Id) from IPocumentRequests
group by Remark
having Remark like '%Remark1%' or Remark like '%Remark2%' or Remark like '%Remark3%'  or Remark like '%Remark4%'

输出

**Remark        (No column Name)**
Remark1 -cid11       1
Remark2 -cid22       1
Remark3-cid33        1
Remark4-cid44        1
Remark1-cid55        1
Remark2-cid66        1
Remark3-cid77        1
Remark4-cid88        1
sql sql-server group-by count having
1个回答
0
投票

从备注栏中过滤出真正的备注,并对其进行分组:

select  the_real_remark
,       count(*)
from    (
        select  left(remark, charindex('-', remark) - 1) as
                    the_real_remark
        from    YourTable
        ) as SubQueryAlias
group by
        the_real_remark
© www.soinside.com 2019 - 2024. All rights reserved.