2017-03-16 12 views
1

我有一個5列的表:suppliercode,articlecode,price,date,ArticleChanges。我想要的是計數的論文中,價格並沒有改變(其結果將是一個額外的列 - ArticleChanges) 例如:在SQL Server中計數沒有價格變化的文章

enter image description here

對於供應商12345我會從1篇共2篇文章沒有改變價格。

+1

請閱讀http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557和接受的答案 –

回答

2

這個想法是由suppler和文章聚合。然後,你可以比較的最低和最高價格:

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

你可以做戈登已經提出並使用「具有」聲明,因爲它是一個相當沉重的查詢可以潛在地影響性能,或者你可以做類似下面的事情:

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 

看看哪一個表現更好,因爲我確定有些情況下哪一個表現更好。