在STRING_SPLIT中使用Where IN并在SQL Server 2016中使用汇总计数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在STRING_SPLIT中使用Where IN并在SQL Server 2016中使用汇总计数相关的知识,希望对你有一定的参考价值。
我有一个简单的Select
语句:
SELECT TOP (100) PERCENT
COUNT(*) AS AuthorCount, PMID, dbid
FROM
dbo.[Publication.PubMed.Author]
GROUP BY
PMID, dbid
HAVING
(dbid = 500) AND (COUNT(*) > 1)
ORDER BY
PMID
此语句返回带有AuthorCount
的所有行。我只想用逗号分隔的字符串中具有PMID号的记录来过滤它]
例如添加
WHERE CAST(PMID AS NVARCHAR(15)) IN STRING_SPLIT('28049775,28864564,28049810,27921451,29043651,30001498,27702896,27897198',',')
我查看了C.通过https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017处的值进行聚合,但这没有帮助
我只希望以逗号分隔的字符串结尾的行子集结束。
感谢
[我有一个简单的Select语句:SELECT TOP(100)PERCENT COUNT(*)AS AuthorCount,PMID,dbid from dbo。[Publication.PubMed.Author] GROUP BY PMID,dbid HAVING(dbid = 500)AND(。 。
答案
您可以使用以下技巧,使您可以使用LIKE
针对逗号分隔的列表搜索列值:
以上是关于在STRING_SPLIT中使用Where IN并在SQL Server 2016中使用汇总计数的主要内容,如果未能解决你的问题,请参考以下文章