Laufende Nummern in SELECT Abfrage erzeugen

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Laufende Nummern in SELECT Abfrage erzeugen

Postby kalleplom » 13. July 2006 11:48

hallo! Vielleicht kann mir hier jemand einen Tipp geben..

Ich möchte durch eine SELECT Abfrage eine laufende Nummer als Spalte ausgeben lassen, unabhängig davon, ob ich einen PS mit auto_increment habe.
Nur die SELECT Anweisung soll mir den Index erzeugen.
So etwas wie
Code: Select all
SELECT INCREMENT() AS LN, id, item ORDER BY item


und als Ausgabe:

Code: Select all
LN    id    item
---------------------
1      2    apfel
2      4    banane
3      8    birne
3     18    zitrone


Wenn ORDER BY sich in der Richtung ändert, soll's trotzdem mit 1 anfangen..

Gibt es da eine Möglichkeit?
kalleplom
 
Posts: 28
Joined: 16. October 2005 20:24

Postby Wiedmann » 13. July 2006 13:08

Mach das am besten in der Client Anwendung.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby kalleplom » 13. July 2006 13:25

nee, das soll schon per sql passieren. ohne php etc...
kalleplom
 
Posts: 28
Joined: 16. October 2005 20:24

Postby kalleplom » 17. July 2006 08:21

so geht's:

Code: Select all
SET @counter = 0;
SELECT @counter := @counter+1 AS LN, id, item ORDER BY item;
kalleplom
 
Posts: 28
Joined: 16. October 2005 20:24

Postby KingCrunch » 17. July 2006 15:53

kalleplom wrote:nee, das soll schon per sql passieren. ohne php etc...
Warum?
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby kalleplom » 17. July 2006 15:56

weil ich die abfrage an smarty schicke, und ich dann nicht die werte in php abfragen bzw. bearbeiten muss
kalleplom
 
Posts: 28
Joined: 16. October 2005 20:24


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 2 guests