选择不同的值组合

时间:2015-07-14 09:30:20

标签: sql tsql

我有一个包含X值和Y值的表,两个都是INT。我想要做的是对X值进行分组,条件是它包含Y值的不同组合。我还想看看每个组合的总数。

我尝试使用SUM(POWER(2,Y)),但是这会产生太大的数字,因为在某些情况下Y可以达到300左右。

+--------------+--------------+
|            X |            Y |
+--------------+--------------+
|            1 |            1 |
|            1 |            2 |
|            1 |            4 |
|            1 |            6 |
|            2 |            1 |
|            2 |            2 |
|            2 |            4 |
|            2 |            6 |
|            3 |            2 |
|            3 |            3 |
|            3 |            5 |
|            4 |            2 |
|            4 |            3 |
|            4 |            5 |
|            5 |            2 |
|            5 |            3 |
|            5 |            6 |
+--------------+--------------+

我希望结果看起来像:

+--------------+--------------+
|            X |        COUNT |
+--------------+--------------+
|            1 |            2 |
|            3 |            2 |
|            5 |            1 |
+--------------+--------------+

2 个答案:

答案 0 :(得分:0)

根据您的描述(但不是您的示例数据),下一个查询应该:

{{1}}

答案 1 :(得分:0)

感谢您的帮助。我意识到可能很难理解我想要做什么。

无论如何,我最终用checksum_agg聚合函数来解决它。