/ 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
SQL-spørgsmål
Fra : Morten Snedker


Dato : 25-11-03 11:15

En tabel indeholder ex. 5 poster og har kun ét felt, Point:

Point
--------
654
321
789
125
758


Jeg vil gerne generere et beregnet felt, så det kommer til at se
således ud:

Point Grading
------- ------------
789 1
758 2
654 3
321 4
125 5


Altså sorteres faldende på point, og så et beregnet felt "Grading" som
er fortløbende. Kan det laves i ren SQL - og hvordan skal det se ud?


mhv /Snedker
---
Svar venligst under det citerede
Klip og udelad, hvad du ikke besvarer

 
 
Kristian Damm Jensen (25-11-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 25-11-03 11:29

Morten Snedker wrote:
> En tabel indeholder ex. 5 poster og har kun ét felt, Point:
>
> Point
> --------
> 654
> 321
> 789
> 125
> 758
>
>
> Jeg vil gerne generere et beregnet felt, så det kommer til at se
> således ud:
>
> Point Grading
> ------- ------------
> 789 1
> 758 2
> 654 3
> 321 4
> 125 5
>
>
> Altså sorteres faldende på point, og så et beregnet felt "Grading"
som
> er fortløbende. Kan det laves i ren SQL - og hvordan skal det se ud?

select point,
(select count(*) from Tabel T2 where T1.point <= T2.point) as
grading
from tabel T1

Den eneste fejl er, at hvis den samme værdi forekommer to gange, så
vil grading for denne værdi ikke blive den højeste (som normalt) men
den laveste af de to.

--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Morten Snedker (25-11-2003)
Kommentar
Fra : Morten Snedker


Dato : 25-11-03 13:38

On Tue, 25 Nov 2003 11:29:28 +0100, "Kristian Damm Jensen"
<REdammMOVE@ofir.dk> wrote:


>select point,
> (select count(*) from Tabel T2 where T1.point <= T2.point) as
>grading
>from tabel T1

T2...hva' er det. Der er jo kun én tabel...?


/Snedker
---
Svar venligst under det citerede
Klip og udelad, hvad du ikke besvarer

Peter Lykkegaard (25-11-2003)
Kommentar
Fra : Peter Lykkegaard


Dato : 25-11-03 13:39


"Morten Snedker" wrote in a message
> On Tue, 25 Nov 2003 11:29:28 +0100, "Kristian Damm Jensen"
> <REdammMOVE@ofir.dk> wrote:
>
>
> >select point,
> > (select count(*) from Tabel T2 where T1.point <= T2.point) as
> >grading
> >from tabel T1
>
> T2...hva' er det.

Alias

>Der er jo kun én tabel...?
>
Ja?

- Peter



Jesper Brunholm (25-11-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 25-11-03 13:43



Morten Snedker wrote:

>>select point,
>> (select count(*) from Tabel T2 where T1.point <= T2.point) as
>>grading
>
>>from tabel T1
>
> T2...hva' er det. Der er jo kun én tabel...?

det er et alias. Man kan kalde det en midlertidig, virtuel tabel

mvh

Jesper Brunholm


--
Phønix - dansk folk-musik i front - <http://www.phonixfolk.dk/>
H.C. Andersen-Centret: <http://www.andersen.sdu.dk/>
Vi har killinger på Garion.dk: <http://garion.dk/>

Kristian Damm Jensen (25-11-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 25-11-03 14:22

Morten Snedker wrote:
> On Tue, 25 Nov 2003 11:29:28 +0100, "Kristian Damm Jensen"
> <REdammMOVE@ofir.dk> wrote:
>
>
>> select point,
>> (select count(*) from Tabel T2 where T1.point <= T2.point) as
>> grading
>> from tabel T1
>
> T2...hva' er det. Der er jo kun én tabel...?

Nej, der er to: Tabel alias T1 og Tabel alias T2. Samme tabel optræder
altså under to forskellige navne, og mere end det: i to forskellige
instanser.

--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste