计算SQL Server中没有价格变化的文章

时间:2017-03-16 10:34:52

标签: sql sql-server

我有一个包含5列的表:suppliercode,articlecode,price,date,ArticleChanges。我想要的只是计算价格没有变化的文章(结果将在另一栏 - ArticleChanges) 例如:

enter image description here

对于供应商12345,我将从总共2篇文章中获得1篇文章,这些文章没有改变价格。

2 个答案:

答案 0 :(得分:2)

想法是通过suppler和article聚合。然后,您可以比较最低和最高价格:

select suppliercode, articlecode
from t
group by suppliercode, articlecode
having min(price) = max(price);

答案 1 :(得分:0)

你可以像Gordon所建议的那样做,并使用'Having'语句,这可能会影响性能,因为它是一个非常繁重的查询,或者您可以执行以下操作:

Select * From (
    Select 
        Min(Price) as Minimum, 
        Max(Price) as Maximum, 
        SupplierCode, 
        ArticleCode
    From
        t
    Group by
        SupplierCode,
        ArticleCode) MainQuery
    Where MainQuery.Minimum = MainQuery.Maximum

看看哪一个表现更好,因为我确信有一个表现更好。