我有一个包含5列的表:suppliercode,articlecode,price,date,ArticleChanges。我想要的只是计算价格没有变化的文章(结果将在另一栏 - ArticleChanges) 例如:
对于供应商12345,我将从总共2篇文章中获得1篇文章,这些文章没有改变价格。
答案 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
看看哪一个表现更好,因为我确信有一个表现更好。