2017-11-25 8 views
1

Ich würde gerne aus einer Tabelle auswählen und in diesem eine Spalte, die nicht in der Tabelle vorhanden ist, und es ist eine ganze Zahl automatisch inkrementieren.MySql Wählen Sie mit automatisch inkrementieren Spalte nicht in der Tabelle

Like:

SELECT username, 'c' as C FROM users; 

wobei c nicht in der Tabelle vorhanden, sollte aber integer und Autoinkrement sein.

+1

Wenn es nicht in der Tabelle vorhanden ist, wie können Sie * es * aus der Tabelle auswählen? – Onimusha

+0

Was lässt Sie glauben, dass das möglich ist? Warum sollte es sein? Sie können nicht etwas auswählen, das nicht existiert. Wenn Sie eine automatisch inkrementierende Spalte haben möchten, fügen Sie einfach eine hinzu. –

+0

Ich möchte wie ein Index in den ausgewählten Ergebnissen enthalten –

Antwort

1
SELECT username, @rank := @rank + 1 as rank 
FROM users 
CROSS JOIN (select @rank := 0) r 
ORDER BY username 

So

CROSS JOIN (select @rank := 0) r 

inits eine Variable mit dem Namen rank. Und

@rank := @rank + 1 as rank 

erhöht die Variable für jede Zeile.

+1

, die eine gute Lösung scheinen, warum downvoted? –

+0

Jemand dachte wahrscheinlich, dass ich die Frage nicht richtig verstanden habe. –

+1

nicht sicher, aber nur Code-Antworten sind verpönt (dieser Beitrag wurde für VLQ/NAA Queue BTW markiert). Ich schlage vor, Sie fügen eine Erklärung hinzu (gehen Sie, um das zu überspringen) –

Verwandte Themen