Ich habe folgende Tabelle.SQL-Bestellung nach Feld Wert
einfach ich will, um von meta_key
machen, wo Wert LoginTS
ist. es ist ein bisschen störend.
ORDER BY meta_value(where meta_key is LoginTS) DESC
.
Im traurig, wenn ihr nicht klar genug ..
Ich habe folgende Tabelle.SQL-Bestellung nach Feld Wert
einfach ich will, um von meta_key
machen, wo Wert LoginTS
ist. es ist ein bisschen störend.
ORDER BY meta_value(where meta_key is LoginTS) DESC
.
Im traurig, wenn ihr nicht klar genug ..
SELECT *
FROM mytable
WHERE `meta_key`= 'LoginTS'
ORDER BY `meta_value` DESC
Wenn Sie wollen, dass alle Tabelle zurück zu bekommen, aber zu ORDER BY bestimmten Spalte versuchen Sie dies:
SELECT
*
FROM
myTable
ORDER BY CASE WHEN `meta_key`='LoginTS' THEN 0 ELSE 1 END
MySQL hat eine leere Ergebnismenge zurückgegeben (d. H. Null Zeilen). (Abfrage dauerte 0,0006 Sek.), Weiß nicht warum –
es ist 'LoginTS', aber nicht 'LoginTs'. das 's' sollte nicht in Kleinbuchstaben sein. –
@ Saeid Khaleghi versuchen Sie es erneut, ich reparierte die Abfrage –
WHERE sollte vor ORDER BY gesetzt werden, versuchen Sie dies:
WHERE meta_key = 'LoginTS' ORDER BY meta_value DESC
Sollte '..ORDER BY meta_value DESC' sein –
Mast ist DES !!! –
Es war ASC, als ich es von der Frage kopierte ... Ich reparierte es – M4tini
Da Sie Willst du mit asc bestellen, könntest du so etwas ausprobieren
order by case when meta_key='LoginTS' then 0 else 1 end
Tyvm, arbeitete wie ein Charme. –
@ SaeidKhaleghi Wie würde dies Ihnen das erwartete Ergebnis geben? Sie haben nur zwei Datensätze, in denen 'meta_key = 'LoginTS', aber dies wird alle Datensätze –
@Prdp Ich habe nur das und ich bekomme das genaue Ergebnis, wie ich wollte. –
Können Sie das erwartete Ergebnis hinzufügen –