SQL 区分大小写分组依据
SQL Case Sensitive Group By
简介
我有一个 table,它有一个列 "AccountCode" 和其他列。很少有相同但区分大小写的帐户代码。
示例:
AccountCode OrderId
ABC O001
ABC O002
abc O003
DEF O004
Objective
我希望查询在 AccountCode 列上有一个分组并获得相应的计数。预期输出应该像
ABC 2
abc 1
DEF 1
我尝试过使用 COLLATE Latin1_General_CS_AS 但无法获得所需的结果。
以下查询不提供区分大小写的输出
select accountCode COLLATE Latin1_General_CS_AS, count(OrderId)
from <<TableName>>
group by accountCode
也在 GROUP BY 子句上分配 COLLATE
select accountCode COLLATE Latin1_General_CS_AS, count(OrderId)
from <<TableName>>
group by accountCode COLLATE Latin1_General_CS_AS
create table #a
(
AccountCode varchar(10) , OrderId varchar(10)
)
insert into #a values
('ABC','O001'),
('ABC','O002'),
('abc','O003'),
('DEF','O004')
select accountCode COLLATE Latin1_General_CS_AS, count(OrderId) from #a group by accountCode COLLATE Latin1_General_CS_AS
开始翻译
创建 TABLE #Temp(AccountCode VARCHAR(100),OrderId VARCHAR(100))
插入#Temp(AccountCode,OrderId)
SELECT 'ABC','O001' 联合所有
SELECT 'ABC','O002' 联合所有
SELECT 'abc','O003' 联合所有
SELECT 'DEF','O004'
SELECT AccountCode 整理 Latin1_General_CS_AS, COUNT(OrderId) FROM #Temp
GROUP BY accountCode 整理 Latin1_General_CS_AS
回滚传输
简介
我有一个 table,它有一个列 "AccountCode" 和其他列。很少有相同但区分大小写的帐户代码。 示例:
AccountCode OrderId
ABC O001
ABC O002
abc O003
DEF O004
Objective
我希望查询在 AccountCode 列上有一个分组并获得相应的计数。预期输出应该像
ABC 2
abc 1
DEF 1
我尝试过使用 COLLATE Latin1_General_CS_AS 但无法获得所需的结果。
以下查询不提供区分大小写的输出
select accountCode COLLATE Latin1_General_CS_AS, count(OrderId)
from <<TableName>>
group by accountCode
也在 GROUP BY 子句上分配 COLLATE
select accountCode COLLATE Latin1_General_CS_AS, count(OrderId)
from <<TableName>>
group by accountCode COLLATE Latin1_General_CS_AS
create table #a
(
AccountCode varchar(10) , OrderId varchar(10)
)
insert into #a values
('ABC','O001'),
('ABC','O002'),
('abc','O003'),
('DEF','O004')
select accountCode COLLATE Latin1_General_CS_AS, count(OrderId) from #a group by accountCode COLLATE Latin1_General_CS_AS
开始翻译 创建 TABLE #Temp(AccountCode VARCHAR(100),OrderId VARCHAR(100))
插入#Temp(AccountCode,OrderId) SELECT 'ABC','O001' 联合所有 SELECT 'ABC','O002' 联合所有 SELECT 'abc','O003' 联合所有 SELECT 'DEF','O004'
SELECT AccountCode 整理 Latin1_General_CS_AS, COUNT(OrderId) FROM #Temp GROUP BY accountCode 整理 Latin1_General_CS_AS
回滚传输