gpt4 book ai didi

sql - 按空格分隔的值分组并计算它们

转载 作者:行者123 更新时间:2023-12-04 06:19:42 25 4
gpt4 key购买 nike

我有一个表格,其中包含为我们的客户获取的消息,我基本上需要找到最常用单词的前 50 个列表。

该表名为 Messages , 键入的消息是 Message .有效地我想SELECT所有行,递归拆分每行 Message按空格获取所有单词,GROUP BY每一个字和COUNT他们。我正在努力通过空间递归拆分 - 有什么想法吗?

最佳答案

DECLARE @Table TABLE (userID INT,MESSAGE NVARCHAR(MAX))
INSERT INTO @Table
SELECT '1','word1 word2 word3' UNION ALL
SELECT '1','word2 word5 word4' UNION ALL
SELECT '2','word5 word2 word1' UNION ALL
SELECT '2','word1 word2 word3'

; WITH c AS(
SELECT N.Value,COUNT(N.Value) Cnt FROM
@Table T
CROSS APPLY
dbo.split(T.message,' ') N
GROUP BY N.Value
)
SELECT c.Value,c.Cnt
FROM c
ORDER BY Cnt DESC

结果:

enter image description here

注意:您需要 split 功能,您可以在互联网上的许多示例中找到该功能。例如,请参见此处: Split function equivalent in T-SQL?

关于sql - 按空格分隔的值分组并计算它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6745804/

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