2016-11-29 6 views
1

Finden Sie den größten Preissprung/Unterschied in den letzten 5 Monaten. Ich habe eine Price_Change-Tabelle mit Product_ID, Price und Date (Timestamp of change).SQL Query - Finden Sie die größten Preisunterschiede in den letzten 5 Monaten

Ich habe versucht, für den letzten 5 Monaten alle Ergebnisse von Preisänderungen zu erhalten:

SELECT Price, date 
FROM Price_Change 
WHERE date >= DATEADD(MONTH, -5, GETDATE()) 

Allerdings bin ich auf stapfte wie die größte Preisänderung zu berechnen und auf allen Produkten vergleichen. Ich denke, ich muss die Max und Min für jedes Produkt erhalten und voneinander subtrahieren und dann die Änderungen ordnen.

Irgendwelche Hilfe?

+0

GETDATE ist für sql server nicht mysql – Mihai

+0

Suchen Sie nach Preissprüngen zwischen jedem Tag? Bitte seien Sie klarer in Ihrer Anfrage. Was das Größte angeht, was ist das in Bezug auf die größten 50% Top 10? –

+0

Price_Change protokolliert Preisänderungen, die unregelmäßig zu zufälligen Zeiten auftreten. Und innerhalb der letzten 5 Monate muss ich das Produkt finden, das die größte Preisveränderung hatte, was meiner Meinung nach in den letzten 5 Monaten sein Min-Preis sein würde, subtrahiert durch den Höchstpreis in den letzten vier Monaten. Ich dachte, ich würde dann nach Produkt-ID in absteigender Reihenfolge bestellen und um 1 zu begrenzen, so dass nur ein Datensatz zeigt – Kate

Antwort

0

So wie Sie den maximalen Preis abzüglich der Mindestpreis in diesem Zeitraum für jede Produktbestellung durch die pricevariance absteigenden nehmen vorgeschlagen und begrenzen die Ergebnisse von 1.

die Schlüssel Sie die Ergebnisse fehlten ordert (Rang) von diesem Preis und Begrenzen es auf die 1. Ich benutze Ihre Datum Logik wo, wenn es also ungültig für Ihre Umgebung, die auf Ihnen ist! : P

SELECT PC.Product_ID, Max(PC.Price) - Min(PC.Price) as PriceVar 
    FROM Price_Change PC 
    WHERE PC.date >= DATEADD(MONTH, -5, GETDATE()) 
    and PC.Product_Id = PCa.Product_Id 
    GROUP BY PC.Product_ID 
    ORDER BY PriceVar dec 
    LIMIT 1 
Verwandte Themen