2017-02-27 106 views
0

我有一个数据库与基于层的价格取决于数量购买示例:(1-10)是$ 5,(11-15)是$ 10,16是$ 15和17 -20为港币$ 160SQL查询返回基于价值层

该表是这样构成:

号INT, 成本INT

表的一个例子:

号|成本

1 | 1
2 | 1
3 | 1
4 | 2
5 | 2
6 | 2
7 | 3
8 | 4
9 | 7
10 | 7

有什么办法,我编写一个查询,这样我可以在格式最小值,最大值得到恢复这些数字,例如其上运行的例子查询费用上面将返回:

MIN | MAX |成本
----- | ----- | ----
1 | 10 | 5
11 | 15 | 10
16 | 16 | 15
17 | 20 | 20

另外我不确定这是否是这种表格的最佳结构。任何和所有的帮助表示赞赏。谢谢!

+0

你能否提供一些表格的样本数据?屏幕截图或东西? – Hexxed

+0

@Hexxed添加例子 – MysteriousHerbivore

回答

0

试试这个。它相当混乱。刚刚尝试使用我的服务器管理工​​作室。 更新:为了更好的可读性。

SELECT Mininum.Min, Maximum.Max, Mininum.Cost 
FROM 
(
    SELECT MIN([Number]) as 'Min', Cost 
    FROM [TestDB].[dbo].[Testing] 
    GROUP BY Cost 
) as [Mininum] 
INNER JOIN 
(
    SELECT MAX([Number]) as 'Max', Cost 
    FROM [TestDB].[dbo].[Testing] 
    GROUP BY Cost 
) as [Maximum] 
ON Mininum.Cost = Maximum.Cost 
+1

非常感谢很多人的作品! – MysteriousHerbivore