SORT BY dateiendung (".mp3") ?
hustieboy
- php
0 Rouven0 André Laugks
hi,
gibt es wohl eine moeglichkeit eine db-query nach stringendung zu sortieren ?
in der spalte "interpreter" steht entweder der interpretername
z.B.:
interpreter trackname
--------------- ------------
anabolic frolic song.mp3
anabolic frolic noch ein song.mp3
anabolic frolic und noch einer.mp3
oder nur eine *.mp3:
z.B.:
interpreter
-------------
ein lied.mp3
noch eins.mp3
lalalala.mp3
ok, ich mach die db anfrage jetzt so:
$sql = "SELECT DISTINCT interpreter,category, COUNT(interpreter) FROM $table_interpreter GROUP BY interpreter";
klappt, und wird nach alphabet geordnet(!).alle eintraege, die kein *.mp3 als endung haben bekommen ein Ordner.gif angezeigt, alle anderen nicht.
Wie kann ich aber nun eine query machen, die zusaetzlich alle eintraege, die ein *.mp3 haben als erstes anzeigt ??
SORT BY oder so ?
danke
hustieboy
Hi,
im MySQL-Manual findest du die genaue Syntax der Befehle, aber mit Hilfe von einer Konstruktion in etwa wie:
ORDER BY SUBSTR(trackname, LENGTH(trackname)-3, 3)
MfG
Rouven
Hallo!
Wie kann ich aber nun eine query machen, die zusaetzlich alle eintraege, die ein *.mp3 haben als erstes anzeigt ??
SELECT IF(SUBSTRING(string, LENGTH(string)-3)='.mp3', '0', '1') AS temp_spalte, string AS ausgabe FROM mp3 ORDER BY temp_spalte ASC, interpreter ASC;
// holt die letzten 4 Zeichen eines Strings
SUBSTRING(interpreter, LENGTH(interpreter)-3)
// sind die letzten 4 Zeichen gleich '.mp3'
SUBSTRING(interpreter, LENGTH(interpreter)-3)='.mp3'
// ja -> temp_spalte=0; nein -> temp_spalte=1;
IF(SUBSTRING(string, LENGTH(interpreter)-3)='.mp3', '0', '1')
Dann wird nach der Spalte "temp_spalte" sortiert, 0 steht vor der 1. Dann wird innerhalb des sortieren nach der Spalte "interpreter" sortiert.
MfG, André Laugks
--> Berichtigung
SELECT IF(SUBSTRING(string, LENGTH(string)-3)='.mp3', '0', '1') AS temp_spalte, string AS ausgabe FROM mp3 ORDER BY temp_spalte ASC, interpreter ASC;
SELECT IF(SUBSTRING(interpreter, LENGTH(interpreter)-3)='.mp3', '0', '1') AS temp_spalte, interpreter FROM mp3 ORDER BY temp_spalte ASC, interpreter ASC;
MfG, André Laugks