【发布时间】:2018-05-16 12:01:05
【问题描述】:
有没有办法删除多次重复:
LEFT([Id], PATINDEX('%[0-9]%', [Id]) - 1)
在以下查询中?
SELECT
ISNULL(LEFT([Id], PATINDEX('%[0-9]%', [Id]) - 1), 'Total'),
Count([Id])
FROM [dbo].[Ids]
GROUP BY ROLLUP(LEFT([Id], PATINDEX('%[0-9]%', [Id]) - 1))
ORDER BY
GROUPING(LEFT([Id], PATINDEX('%[0-9]%', [Id]) - 1)),
COUNT([Id]) DESC,
LEFT([Id], PATINDEX('%[0-9]%', [Id]) - 1)
尽管我有一个具体的例子,但我希望找到一个通用的解决方案来解决这个问题。
【问题讨论】:
标签: sql sql-server syntax code-duplication