Sql server 用于根据列中的第一个单词(文本)将记录分组在一起的SQL查询
我试图以这样一种方式呈现表中的记录,即根据列中的第一个单词文本对记录进行分组和计数 我的SQL Server表如下所示:Sql server 用于根据列中的第一个单词(文本)将记录分组在一起的SQL查询,sql-server,Sql Server,我试图以这样一种方式呈现表中的记录,即根据列中的第一个单词文本对记录进行分组和计数 我的SQL Server表如下所示: BinID BinName 2070 (for item PMI-67281) 3078 1 (for item PMI-14233) 2914 1 (for item PMI-1600537) 5272 1702 (for item 004908A) 5004 1702 (for item 0332002225BLK) 4019 1
BinID BinName
2070 (for item PMI-67281)
3078 1 (for item PMI-14233)
2914 1 (for item PMI-1600537)
5272 1702 (for item 004908A)
5004 1702 (for item 0332002225BLK)
4019 1702 (for item 0332204204)
1208 1A1 (for item BWB2)
1662 1A1 (for item BWB27)
1212 1A1 (for item BWB31)
1213 1A1 (for item BWB35-S)
2583 1A2 (for item BWBT359)
1234 1A2 (for item BWBT364)
1266 1A3 (for item BWB1438)
2418 1A5 (for item 1006101)
2008 1A5 (for item 107794X)
1281 1ATOP (for item BWPA3493)
1218 1B1 (for item BWB161-S)
我的要求结果如下:
BinID BinName Count
5272 1702 (for item 004908A)
5004 1702 (for item 0332002225BLK)
4019 1702 (for item 0332204204) 3
1208 1A1 (for item BWB2)
1662 1A1 (for item BWB27)
1212 1A1 (for item BWB31)
1213 1A1 (for item BWB35-S) 4
2583 1A2 (for item BWBT359)
1234 1A2 (for item BWBT364) 2
1266 1A3 (for item BWB1438) 1
2418 1A5 (for item 1006101)
2008 1A5 (for item 107794X) 2
1281 1ATOP (for item BWPA3493) 1
1218 1B1 (for item BWB161-S) 1
您可以通过使用LEFT和CHARINDEX函数来实现这一点——使用它来查找第一个空格,并按空格排序,或按空格分组,或执行任何您希望执行的操作
SELECT BinID
,BinName
FROM TABLE
ORDER BY LEFT(BinName,CHARINDEX(' ', BinName)-1)