/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQl - Nummerering i SELECT
Fra : Jimmy


Dato : 04-02-03 18:10

Hej

Jeg ønsker at lave en SELECT, der indeholder en variabel, der automatisk
adderes 1 til for hver gang jeg hiver en række ud.

F.eks. noget i stil med nedenstående tabel og dummy-SQL:


Dyr
----
Hund
Kat
Mus

SELECT *, Nummer FROM DYR

....skulle resultere i følgende:

1 Hund
2 Kat
3 Mus

Hvordan ville I gøre dette?

Mvh
Jimmy



 
 
Kasper Christensen (11-02-2003)
Kommentar
Fra : Kasper Christensen


Dato : 11-02-03 07:34

> Jeg ønsker at lave en SELECT, der indeholder en variabel, der automatisk
> adderes 1 til for hver gang jeg hiver en række ud.
>
> F.eks. noget i stil med nedenstående tabel og dummy-SQL:
>
>
> Dyr
> ----
> Hund
> Kat
> Mus
>
> SELECT *, Nummer FROM DYR
>
> ...skulle resultere i følgende:
>
> 1 Hund
> 2 Kat
> 3 Mus
>
> Hvordan ville I gøre dette?

Lav en celle der hedder nummer. Vælg derefter autonummerering.

Mvh

Kasper


Jimmy (11-02-2003)
Kommentar
Fra : Jimmy


Dato : 11-02-03 09:24


"Kasper Christensen" <news@kasperc.dk> wrote in message
news:b2a5gf$3q4$1@sunsite.dk...
> > Jeg ønsker at lave en SELECT, der indeholder en variabel, der automatisk
> > adderes 1 til for hver gang jeg hiver en række ud.
> >
> > Hvordan ville I gøre dette?
>
> Lav en celle der hedder nummer. Vælg derefter autonummerering.

Nej nej - så kan jeg jo ikke sortere på felterne og slette enkelte poster
eller udvælge enkelte

Det må være noget med en variabel i selve SELECT som man angiver skal
forøges ved hvert kald.

mvh
Jimmy



Mads Lie Jensen (11-02-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 11-02-03 18:17

On Tue, 11 Feb 2003 09:23:41 +0100, "Jimmy"
<nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote:

>Nej nej - så kan jeg jo ikke sortere på felterne og slette enkelte poster
>eller udvælge enkelte
>
>Det må være noget med en variabel i selve SELECT som man angiver skal
>forøges ved hvert kald.

Prøv at kigge på http://www.mysql.com/doc/en/Variables.html


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Lær af andres fejl
- du lever alligevel ikke længe nok til selv at prøve dem alle.

Jesper Brunholm (12-02-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 12-02-03 09:13

Jimmy wrote:
> Jeg ønsker at lave en SELECT, der indeholder en variabel, der automatisk
> adderes 1 til for hver gang jeg hiver en række ud.
>
> F.eks. noget i stil med nedenstående tabel og dummy-SQL:
>
>
> Dyr
> ----
> Hund
> Kat
> Mus
>
> SELECT *, Nummer FROM DYR
>
> ...skulle resultere i følgende:
>
> 1 Hund
> 2 Kat
> 3 Mus
>
> Hvordan ville I gøre dette?

Direkte adspurgt ville mit svar være: ved at lave et autonummereret felt
til ID som jeg tog med ud hver gang, og sikrede mig kom i rækkefølge ved
at bruge ORDER BY.

Hvad er det du skal bruge det til?

Jeg er nødt til at spørge, jeg kan ikke helt se på dit indlæg hvor meget
du kan, og jeg vil nødig vejlede folk i at gå over åen for at hente vand


mvh

Jesper Brunholm



--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


Jakob Andersen (12-02-2003)
Kommentar
Fra : Jakob Andersen


Dato : 12-02-03 21:26

"Jimmy" wrote
> Jeg ønsker at lave en SELECT, der indeholder en variabel, der automatisk
> adderes 1 til for hver gang jeg hiver en række ud.

SET @i = 0;
SELECT <feltliste>, @i:=(@i+1) FROM <tabel>;

--
Jakob Andersen



Jimmy (18-02-2003)
Kommentar
Fra : Jimmy


Dato : 18-02-03 23:15


"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:b2eafr$2hqi$1@news.cybercity.dk...
> "Jimmy" wrote
> > Jeg ønsker at lave en SELECT, der indeholder en variabel, der automatisk
> > adderes 1 til for hver gang jeg hiver en række ud.
>
> SET @i = 0;
> SELECT <feltliste>, @i:=(@i+1) FROM <tabel>;


Interessant ide.
Dog returnerer den 0 rækker.
Hvis jeg ikke angiver SET @i = 0; returneres alle raekker i tabellen, men så
er de ikke nummererede.

Var det et eksempel du fandt på mysql.com?

Mvh
Jimmy



Jakob Andersen (23-02-2003)
Kommentar
Fra : Jakob Andersen


Dato : 23-02-03 16:25

"Jimmy" <nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote
> "Jakob Andersen" wrote
> > SET @i = 0;
> > SELECT <feltliste>, @i:=(@i+1) FROM <tabel>;
>
> Interessant ide.
> Dog returnerer den 0 rækker.
> Hvis jeg ikke angiver SET @i = 0; returneres alle raekker i tabellen, men

> er de ikke nummererede.

Hmmm... Den virker fint for mig, prøv at se nedenstående sakset direkte fra
min mysql prompt:

mysql> SET @i = 0;SELECT id, navn, @i := (@i + 1) FROM minTabel ORDER BY
navn;
Query OK, 0 rows affected (0.01 sec)

+----+-------------------+----------------+
| id | navn | @i := (@i + 1) |
+----+-------------------+----------------+
| 1 | Databaser | 1 |
| 5 | Dato,valuta,sprog | 2 |
| 6 | Email | 3 |
| 2 | Filsystemet | 4 |
| 4 | Forms | 5 |
| 7 | Generelt | 6 |
| 3 | Komponenter | 7 |
| 11 | Sikkerhed | 8 |
| 10 | Sockets | 9 |
| 9 | SQL | 10 |
| 8 | XML | 11 |
+----+-------------------+----------------+
11 rows in set (0.01 sec)

> Var det et eksempel du fandt på mysql.com?

Øhh... Nej, ikke lige umiddelbart. Men der er nogle eksempler i samme stil
på siden som Mads henviste til:
<http://www.mysql.com/doc/en/Variables.html>

--
Jakob Andersen



Jimmy (23-02-2003)
Kommentar
Fra : Jimmy


Dato : 23-02-03 16:37


"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:b3ap29$23nk$1@news.cybercity.dk...
> "Jimmy" <nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote
> > "Jakob Andersen" wrote
> > > SET @i = 0;
> > > SELECT <feltliste>, @i:=(@i+1) FROM <tabel>;
> >
> > Interessant ide.
> > Dog returnerer den 0 rækker.
> > Hvis jeg ikke angiver SET @i = 0; returneres alle raekker i tabellen,
men
> så
> > er de ikke nummererede.
>
> Hmmm... Den virker fint for mig, prøv at se nedenstående sakset direkte
fra
> min mysql prompt:
>
> mysql> SET @i = 0;SELECT id, navn, @i := (@i + 1) FROM minTabel ORDER BY
> navn;
> Query OK, 0 rows affected (0.01 sec)

Virkeligt mærkeligt.
Jeg har ikke en prompt ved hånden og anvender phpmyadmin.

Det mærkelige er, at når jeg udelader SET @i = 0; returneres alle rækker,
men nummereringen er NULL i alle sammen.
Inkluderer jeg SET @i = 0; returneres 0 rækker.

Men tak for hjælpen,
jeg må nok rode lidt mere med det.

mvh
Jimmy



Jakob Andersen (23-02-2003)
Kommentar
Fra : Jakob Andersen


Dato : 23-02-03 17:26

"Jimmy" wrote
> Jeg har ikke en prompt ved hånden og anvender phpmyadmin.

Hvis du har adgang til serveren udefra kan jeg anbefale dig at kigge på:

<http://www.dbtools.com.br/>

Som er et efter min mening noget "venligere" interface end phpMyAdmin. Heri
kan jeg også køre den omtalte forespørgsel og få det ønskede resultat.

--
Jakob Andersen



Mads Lie Jensen (23-02-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 23-02-03 17:40

On Sun, 23 Feb 2003 16:37:02 +0100, "Jimmy"
<nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote:

>Virkeligt mærkeligt.
>Jeg har ikke en prompt ved hånden og anvender phpmyadmin.

Det er nok en fejl/mangel/whatever i phpmyadmin som gør det.

>Det mærkelige er, at når jeg udelader SET @i = 0; returneres alle rækker,
>men nummereringen er NULL i alle sammen.
>Inkluderer jeg SET @i = 0; returneres 0 rækker.

Hvis ikke du kører SET @i=0; først, så vil @i være NULL - og NULL +1 er
stadig NULL.


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Lær af andres fejl
- du lever alligevel ikke længe nok til selv at prøve dem alle.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste