我创建了一个SQL Server数据库,并且有一个表" COST OF PRODUCTS" (> 600,000行)。我必须做一个查询,显示哪些产品已经改变了价格。如下所示:1,2,3行,因为1st是正数,2nd是负数;第三是积极的。据我了解,我必须创建一个额外的表并检查使用内连接或使用滞后/超前功能。
谁知道最好的方法是什么?
ID | COST | CHANGE
1 | 450 | 1,4
2 | 350 | -0,8
3 | 470 | 1,2
4 | 550 | 1,3
答案 0 :(得分:2)
如果您只希望列出的数据为正数,然后为负数,则可以执行以下操作:
SELECT * FROM COST_OF_PRODUCTS
WHERE CHANGE>0
UNION
SELECT * FROM COST_OF_PRODUCTS
WHERE CHANGE<0
或者
SELECT * FROM COST_OF PRODUCTS
ORDER BY CHANGE