[lug-ld] SQL anyone?
Klaus Wünschel
kwj at gmx.de
Di Feb 18 19:52:27 CET 2014
Hallo,
nur für den Fall, dass es sich bei der verwendeten Datenbank nicht um
MySQL handelt...
Bei PostgreSQL oder Oracle könntest du Window-Functions zur Ermittlung
des Rangs eines Artikels innerhalb des Monats benutzen, z.B.
RANK() OVER (PARTITION BY TO_CHAR(auftragsdatum, 'WW.YYYY') ORDER BY
SUM(preis) DESC)
Siehe auch
http://www.postgresql.org/docs/9.1/static/tutorial-window.html
Damit lassen sich viele Sub-Selects auf einfache Weise überflüssig
machen.
Gruß
Klaus
Am Tue, 18 Feb 2014 11:44:00 +0000
schrieb "Wagner, Steffen Tobias" <Steffen.Tobias.Wagner at sap.com>:
> Moin,
>
> MySQL:
>
> zum Thema gruppieren (-> GROUP BY WEEK… & SORT BY WEEK…):
> z.b. http://stackoverflow.com/questions/6710342/mysql-grouping-by-week
>
> Zum Thema Join von mehreren Tabellen (-> INNER JOIN):
> z.B. http://www.mysqltutorial.org/mysql-inner-join.aspx
>
> Deine Anforderung sollte problemlos in einer Abfrage machbar sein.
>
> Gruß Steffen
>
>
>
> From: lug-ld-bounces at lists.lug-ld.de
> [mailto:lug-ld-bounces at lists.lug-ld.de] On Behalf Of Ekki Plicht
> (DF4OR) Sent: Dienstag, 18. Februar 2014 12:31 To: Allgemeine
> Mailingliste der Linux-User-Group Landau Subject: [lug-ld] SQL anyone?
>
>
> Moin.
> Ich bräuchte mal Hilfe bei einer SQL-Abfrage.
>
> Tabelle 1
> id, Auftragsnummer, auftragsdatum
>
> Tabelle 2
> Auftrags-id, Artikel, Preis
>
> Es gibt also viele Aufträge mit jeweils einer oder mehreren
> Positionen (Artikel).
>
> Ich suche nun folgendes Ergebnis :
> Woche, Artikel, Preis
>
> Im Klartext : gruppiert nach Woche alle Artikel die in dieser Woche
> verkauft wurden, zusammen gefasst die Preise jeden Artikels,
> sortiert nach den top 5 Artikeln
>
> Ich will also wissen:
> Welche Artikel waren meine Renner (Top 5) je Woche?
>
> Geht das überhaupt mit einer Abfrage? Ich habe es mit sub selects
> probiert aber nicht hingekommen....
>
> Danke!
> Ekki