MYSQL Rookie hier, also bitte bitte mit mir.Reihenfolge mysql Tabelle Zeilen nach Wert von Spalte
Ich habe eine Tabelle namens Cars
, die Daten über Autos speichert:
- Machen
- Modell
- MPG
- Preis
- Anzahl der Sitze
Und ich habe eine Tabelle mit der Bezeichnung priority
, die sto Res, wie wichtig jedes Automerkmal für mich auf einer 0-5 Skala ist. So könnte diese Tabelle wie folgt aussehen:
+-----+-------+-------+ | MPG | Price | Seats | +-----+-------+-------+ | 0 | 2 | 3 | +-----+-------+-------+
Ich möchte eine Punktzahl zu erzeugen in der Lage sein für jeden Car
wie folgt:
score = (car.MPG * priority.MPG) + (car.Price * priority.Price) + (car.seats * priority.seats)
Ich möchte im Wesentlichen eine Select * from cars order by score
tun. Aber ich bin nicht sicher, wie man diese Abfrage bildet.
Hilfe wird sehr geschätzt.
Dies funktioniert gut zu verwenden. Ich habe mich gefragt, ob mein Bewertungssystem komplizierter wird, gibt es eine Möglichkeit, es als eine Funktion zu speichern und es einfach irgendwie zu nennen? – user3509258
Ja ... Sie können eine Funktion erstellen CREATE FUNCTION 'score' (Ihre Parameter ... (mpg..price ... Sitze ...)) RETURNS INT Ihr Scoring-System BEGIN ... RETURNS der Wert .. END; ... und ihre Anfrage wird diese Funktion aufrufen .. a select * from Autos ein, um nach Punkten (a.mpg, a.price, a.seats) – Christian
viel Glück mit. dieser Vorschlag – Christian