dedlfix: mysql, Sortierproblem

Beitrag lesen

Tach!

NULLS FIRST am anfang
NULLS LAST am ende

Das ist aber keine MySQL-Syntax. Zumindest steht da nichts auf der Seite zu SELECT. Und NULL ist auch nicht 0.

probier doch mal aus:
SELECT * FROM TABLE ORDER BY id NULLS FIRST, SORT;

Mein Vorschlag ist, das erste Sortierkriterium sollte so lauten: IF(id = 0, 0, 1). Damit entstehen zwei Mengen, die mit der id=0 und "der Rest". Im Prinzip reicht ein Typecast nach Boolean, gibts aber nicht. SIGN(id) tut es in dem Fall sicher auch. Negative Werte für die id gibt es vermutlich nicht, so dass SIGN() nur 0 für die id 0 und in allen anderen Fällen 1 ergibt. Diese lassen sich dann mit einem zweiten Sortierkriterium (und gegebenenfalls weiteren) in die gewünschte Reihenfolge bringen.

dedlfix.