[lug-ld] SQL anyone?

Klaus Wünschel kwj at gmx.de
Di Feb 25 22:37:22 CET 2014


Hallo Ekki,

was bei der MySQL-Variante spontan auffällt: Natürlich ist die
Gruppierung nach Woche ohne Berücksichtigung des Jahres Quatsch, da man
so die Wochen verschiedener Jahre in einen Topf wirft. Statt
week(datum) kannst du da date_format(datum, '%w.%Y') nehmen:

http://sqlfiddle.com/#!2/5433c/6

Ansonsten können wir bei Bedarf ja nochmal was "fiddeln" ;-)

Gruß
Klaus

Am Tue, 25 Feb 2014 21:54:41 +0100
schrieb "Ekki Plicht (DF4OR)" <ekki at plicht.de>:

> Und nochmal ich... :)
> 
> Zu früh gefreut :(
> 
> Leider tut die Abfrage doch nicht das was sie soll, sorry. Aber ich
> denke ich habe damit erstmal genug Hinweise bekommen, wie man sowas
> grundsätzlich löst und werde von da aus mal alleine weiterbasteln.
> 
> Danke nochmal!
> 
> Ekki
> 
> 
> 2014-02-19 14:46 GMT+01:00 Klaus Wünschel <kwj at gmx.de>:
> > Hallo Christoph,
> >
> > das Ranking der Artikel innerhalb des Monats fehlt noch, um
> > jeweils die 5 Topseller herauszufiltern. Hier das angepasste
> > Statement:
> >
> > http://sqlfiddle.com/#!2/5433c/3
> >
> > Ginge alles viel eleganter, wenn's nicht MySQL wäre:
> >
> > http://sqlfiddle.com/#!4/7238e/16
> >
> > Gruß
> > Klaus
> >
> > Am Wed, 19 Feb 2014 12:54:52 +0100
> > schrieb Christoph Maya <christoph.maya at gmail.com>:
> >
> >> Eii, der generiert immer neue Links :)
> >> http://sqlfiddle.com/#!2/15f8c7/1
> >>
> >>
> >> 2014-02-19 12:35 GMT+01:00 Christoph Maya
> >> <christoph.maya at gmail.com>:
> >>
> >> > Glaube das passt: http://sqlfiddle.com/#!2/e1129b/1
> >> >
> >> > Aber nur schnell zusammen gefrickelt (=
> >> >
> >> > Grüße
> >> >
> >> >
> >> > 2014-02-19 9:43 GMT+01:00 Christoph Maya
> >> > <christoph.maya at gmail.com>:
> >> >
> >> > Hallo Ekki,
> >> >>
> >> >> wenn ich es richtig verstehe, sollte es mit GROUP BY und HAVING
> >> >> gehen: http://www.sqldocu.com/four/groupby.htm#having
> >> >>
> >> >> Ansonsten: können wir heute Abend mal Live hacken? Hab so was
> >> >> ähnliches mal gemacht, nur ohne Join. Da ich auch kein SQL Pro
> >> >> bin, hab ich mich Stück für Stück "ran getastet", bis die
> >> >> richtigen Ergebnisse da waren :)
> >> >>
> >> >> Bzw. geb uns mal ein SQL Fiddle: http://sqlfiddle.com/ dann
> >> >> können alle gleichzeitig hacken (=
> >> >>
> >> >> Grüße
> >> >>
> >> >>
> >> >> 2014-02-18 23:43 GMT+01:00 Klaus Wünschel <kwj at gmx.de>:
> >> >>
> >> >> Hallo Ekki,
> >> >>>
> >> >>> das ist bitter ;-) Vielleicht hilft dir der folgende Artikel,
> >> >>> um das Problem auf "MySQL-Art" zu lösen:
> >> >>>
> >> >>> http://www.sqlines.com/mysql/how-to/get_top_n_each_group
> >> >>>
> >> >>> Gruß
> >> >>> Klaus
> >> >>>
> >> >>> "Ekki Plicht (DF4OR)" <ekki at plicht.de> schrieb:
> >> >>> >Hi Klaus,
> >> >>> >tja, da habe ich wohl Pech gehabt. Es handelt sich um MySQL :)
> >> >>> >
> >> >>> >Gruß,
> >> >>> >Ekki
> >> >>> >
> >> >>> >
> >> >>> >2014-02-18 19:52 GMT+01:00 Klaus Wünschel <kwj at gmx.de>:
> >> >>> >> 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
> >> >>> >>
> >> >>> >> _______________________________________________
> >> >>> >> lug-ld mailing list
> >> >>> >> lug-ld at lists.lug-ld.de
> >> >>> >> http://lists.lug-ld.de/mailman/listinfo/lug-ld
> >> >>> >_______________________________________________
> >> >>> >lug-ld mailing list
> >> >>> >lug-ld at lists.lug-ld.de
> >> >>> >http://lists.lug-ld.de/mailman/listinfo/lug-ld
> >> >>>
> >> >>> _______________________________________________
> >> >>> lug-ld mailing list
> >> >>> lug-ld at lists.lug-ld.de
> >> >>> http://lists.lug-ld.de/mailman/listinfo/lug-ld
> >> >>>
> >> >>
> >> >>
> >> >
> >
> > _______________________________________________
> > lug-ld mailing list
> > lug-ld at lists.lug-ld.de
> > http://lists.lug-ld.de/mailman/listinfo/lug-ld
> _______________________________________________
> lug-ld mailing list
> lug-ld at lists.lug-ld.de
> http://lists.lug-ld.de/mailman/listinfo/lug-ld