1

我试图以这样一种方式显示表中的记录,即它们根据列中的第一个单词(文本)进行分组和计数。

我的 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    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
4

1 回答 1

0

您可以通过使用 LEFT 和 CHARINDEX 函数来做到这一点 - 使用它来查找第一个空格,并按它排序,或对其进行分组,或任何您想做的事情。

SELECT    BinID
         ,BinName
FROM      TABLE
ORDER BY  LEFT(BinName,CHARINDEX(' ', BinName)-1)
于 2013-04-12T04:25:15.560 回答