SQL多不同

时间:2014-07-23 18:12:08

标签: sql-server distinct hiveql

问题:是否有人拥有单表,多列,前N,分段不同,选择查询的代码?

假设您有一个新表db..Stuff 像所有表格一样,Stuff中有尺寸和尺寸。我们总是想知道“表格Stuff中列X的值范围是多少?”因此,您可以在表Stuff中为几个不同的列编写SELECT DISTINCT。

如果您为多个列编写SELECT DISTINCT

select distinct s.colA, s.colB from Stuff as S

然后你得到了colA和colB的组合。这很好,但它会使你的结果成倍增加。如果存在“分段”的区别,它会更好。在哪里获得不同的colA并将其连接/联合到不同的colA以获得表Stuff中的内容的子集表示。

我想知道是否有人有这方面的SQL代码。

1 个答案:

答案 0 :(得分:0)

尝试以下查询以获取ColA,以及所有具有逗号分隔符且具有某些COLA值的ColB:

select distinct s.colA, 
        STUFF((SELECT ','+S2.ColB
                FROM [Stuff] AS s2
                WHERE s2.ColA=s.ColA
                FOR XML PATH('')
                ),1,1,'') AS ColB
FROM [Stuff] as S