【发布时间】:2019-10-17 15:27:50
【问题描述】:
我正在处理一个查询,以提取商家列表并获取该商家的交易计数。这是一个示例(注意:我的表格有更多列用于描述、位置、状态、金额、日期等,但这些是重要的)。
TransactionID MerchantName
1 MERCHANTA #123
2 MERCHANTA #541
3 MERCHANTA #456
4 MERCHANTB #123
5 MERCHANTB
6 SOME MERCHANTC #123
现在,我想将这些商家组合在一起,但由于每个商家可能拥有多个商店,因此他们的商家名称并不总是与其他交易相同。
我知道将它们组合在一起的唯一方法是以下标准查询,但它永远不会适用于不同的商店编号。
SELECT MerchantName, COUNT(*)
FROM Transactions
GROUP BY MerchantName
我的目标是使用正则表达式将商店编号替换为通配符或空白字符串,这样我就可以按商家将它们分组在一起,而不管商店编号如何。这是我的模式:[#*]\s?[a-zA-Z\d]?
预期输出:
MerchantName TransactionCount
MERCHANTA 3
MERCHANTB 2
SOME MERCHANTC 1
这甚至可能吗?如果是这样,这样做的好方法是什么?提前致谢。
【问题讨论】:
标签: sql sql-server regex