Böses Mysql if-Problem...
Bernd
- datenbank
0 Julian Hofmann0 Axel Richter0 Bernd
Hallo, ich wollte sinngemäß folgendes umsetzen:
Es sollen Klausuren nach Note sortiert werden.
Klausurtitel Note Anzahl der Bewertungen(bewertungssumme)
Test 1 3
test1 1 1
test2 6 1
test3 6 3
Also Klausuren, die dreimal ne Eins kriegen sind besser als die, die 1mal ne Eins bekommen haben.
Aber: Klausuren, die dreimal ne Sechs kriegen sind schlechter als die, die 1mal ne Sechs bekommen haben.
select testnote, bewertungssume,
if(testnote<4,"desc","asc") as sortierung, klausur
from main
order by testnote, bewertungssumme sortierung
Also Ziel ist, dass hinter bewertungssumme ein desc steht (wenn die Note der jeweiligen Klausur 1,2 oder 3 ist). Dann soll nach desc sortiert werden, wenn die Note 4,5 oder 6 ist soll nach asc sortiert werden (normale Sortierung bei order by)
Das ganze läuft so aber nicht, gibts da nen Kniff ??
Thx B.
PS: Es muß in EINER ZSQL Methode passen, leider...;(
Hallo.
Sind in SQL-Statements nicht auch Rechenoperationen zugelassen? Dann müsste doch der Durchschnitt errechenbar sein - und der erfüllt die gewünschten Sortierkriterien.
Grüße aus Würzburg
Julian
Hallo,
ich wollte sinngemäß folgendes umsetzen:
Es sollen Klausuren nach Note sortiert werden.
Klausurtitel Note Anzahl der Bewertungen(bewertungssumme)Test 1 3
test1 1 1
test2 6 1
test3 6 3Also Klausuren, die dreimal ne Eins kriegen sind besser als die, die 1mal ne Eins bekommen haben.
Aber: Klausuren, die dreimal ne Sechs kriegen sind schlechter als die, die 1mal ne Sechs bekommen haben.select testnote, bewertungssume,
if(testnote<4,"desc","asc") as sortierung, klausur
from main
order by testnote, bewertungssumme sortierung
SELECT testnote, bewertungssume,
IF(testnote<4,bewertungssumme,bewertungssumme*(-1)) as sortierung,
klausur
FROM main
ORDER BY testnote, sortierung DESC
So ganz Einleuchtend ist mir die Logik Deiner Abfrage allerdings noch nicht. Ist besser gleich leichter? Will sagen, soll die Sortierung den Schwierigkeitsgrad der Klausuren spiegeln? Sind die Noten Durchschnittsnoten? Wenn ja, warum ist dann eine Klausur, die 1 Mal den Durchschnitt Note 1 erreicht hat besser(leichter?) als eine Klausur, die 100 Mal die Durchschnittsnote 2 erreicht hat? Meiner Meinung nach sind diese Klausuren nicht miteinander zu vergleichen. Das eine Mal kann ein "Ausrutscher" (Gaußsche Normalverteilung) sein. Es traf eben einfach mal eine sehr gute Klasse ;-)).
viele Grüße
Axel
Danke hat gut gefunzt, wär ich nicht so schnell drauf gekommen...
Sinn war halt Klausuren selbst zu bewerten ;o))