【发布时间】:2011-02-03 10:21:31
【问题描述】:
我有以下示例数据:
Id Name Quantity
1 Red 1
2 Red 3
3 Blue 1
4 Red 1
5 Yellow 3
所以对于这个例子,总共有 5 个红色、1 个蓝色和 3 个黄色。我正在寻找一种按颜色对它们进行分组的方法,但每组最多包含 2 个项目(排序并不重要)。像这样:
Name QuantityInPackage
Red 2
Red 2
Red 1
Blue 1
Yellow 2
Yellow 1
关于如何在 MS-SQL 2005 上使用 T-SQL 完成此任务的任何建议?
【问题讨论】:
-
什么版本的 SQL Server 或 Informix? NTILE 不是你想要的……
-
如何从第一组到第二组?如果您
GROUP BY,那么每种颜色将只有一行。 -
Raj More:正是我的问题。 Package 中的数量最多为 2。因此它可以是 1 或 2。如果“颜色”的项目超过 2 个,则需要在下一行显示。
-
如何确定
QuantityInPackage? PackageID 在哪里? -
这看起来像是最好在代码中处理的问题之一。这是一个选择吗?