gpt4 book ai didi

sql - 按子字符串计算 SQL Server 中的行数

转载 作者:行者123 更新时间:2023-12-04 19:21:39 26 4
gpt4 key购买 nike

我正在使用 SQL Server 2008 R2。目前,我有一个如下所示的表格:

   Text      DateLogged  SomeID  SomeOtherID
-----------------------------------------------
1234: Data 04/04/2014 1 190
3212: Text 04/04/2014 1 190
4332: Data 04/04/2014 1 190
1256: Data 04/04/2014 1 190

以及以下 SQL 查询:

SELECT RIGHT(Text, LEN(Text) - CHARINDEX(':', Text) - 1) AS Sub, DateLogged, SomeID, SomeOtherID
FROM Example
WHERE SomeOtherID = 190

我想为我使用 SSRS 构建的报告获取具有相同子字符串 (Sub) 的行数。但是,我似乎无法找到一种方法来对按子字符串查询结果(仅供引用,DateLogged 和 SomeID 字段用于报告中的分组)。报告如下所示:

Month    SomeID     Sub     Count
---------------------------------
April
1
Data 3
Text 1

任何解决方案,无论是查询级别还是报告级别,我们都将不胜感激!

最佳答案

这对子字符串进行计数:

SELECT RIGHT(Text, LEN(Text) - CHARINDEX(':', Text) - 1) AS Sub, count(*)
FROM Example
WHERE SomeOtherID = 190
GROUP BY RIGHT(Text, LEN(Text) - CHARINDEX(':', Text) - 1);

如果你想要日期和其他id:

SELECT datepart(month, datelogged) as mon,
RIGHT(Text, LEN(Text) - CHARINDEX(':', Text) - 1) AS Sub,
someotherid, count(*)
FROM Example
WHERE SomeOtherID = 190
GROUP BY datepart(month, datelogged) as mon,
RIGHT(Text, LEN(Text) - CHARINDEX(':', Text) - 1),
SomeOtherId;

关于sql - 按子字符串计算 SQL Server 中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25552647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com