Avatar billede wookie Nybegynder
21. juli 2001 - 18:23 Der er 14 kommentarer og
2 løsninger

SQL forespørgsel der finder den største i tabellen

Jeg mangler en SQL forespørgsel der returnerer den post med det største id nummer i en tabel (tabellen har en felt ved navn id der indeholder heltal).
Avatar billede zeth Nybegynder
21. juli 2001 - 18:25 #1
SELECT * FROM tabel ORDER BY id

så burde den vel komme med det højeste, måske ikke den mest optimale måde *s*
Avatar billede zeth Nybegynder
21. juli 2001 - 18:26 #2
SELECT * FROM tabel ORDER BY id DESC

seføli ;)

Avatar billede Slettet bruger
21. juli 2001 - 18:30 #3
select max(id) from tabel;
Avatar billede jakobandersen Nybegynder
21. juli 2001 - 18:38 #4
Hvilken database bruger du?
Avatar billede jakobandersen Nybegynder
21. juli 2001 - 18:40 #5
Hvis du bruger MSSQL eller Access:
SELECT TOP 1 * FROM tabel ORDER BY id DESC;

Ellers:

SELECT * FROM tabel ORDER BY id LIMIT 0,1;
Avatar billede erikjacobsen Ekspert
21. juli 2001 - 19:06 #6
Hvad skal du bruge tallet til, wookie? Der er f.eks. en hurtigere og sikrere metode, hvis
du skal have fat i tallet for en netop indsat tupel.
Avatar billede jakobandersen Nybegynder
21. juli 2001 - 19:09 #7
Så vidt jeg forstår vil wookie have posten og ikke blot dennes Id nummer.
Avatar billede Slettet bruger
21. juli 2001 - 20:59 #8
select *
from tabel
where id = (select max(id) from tabel);
Avatar billede jakobandersen Nybegynder
21. juli 2001 - 22:26 #9
joern_h>> Der er vel ingen grund til at bruge en subselect når du kan bruge LIMIT eller TOP
Avatar billede Slettet bruger
21. juli 2001 - 23:37 #10
moonduck>> Det kommer vist an på, hvilken database
du bruger.

I Oracle vil subselecten kun slå een række op, fordi der er et index på \'tabel\'-s id-kolonne.

Avatar billede jakobandersen Nybegynder
22. juli 2001 - 01:29 #11
joern_h> Hvor mange kender du i danmark der bruger Oracle og ikke kan finde ud af at bruge SQL? (no offense wookie)

Men nu vi er ved det så ville din også være hurtigere i postgres hvis man altså har lavet et index(Hvilket ofte er logisk)
Avatar billede wookie Nybegynder
22. juli 2001 - 01:31 #12
tak for de mange svar :) jeg endte godtnok med at bide i det sure æble og læste selv på lektien (fandt da også et brugbart svar), jeg var dog ikke klar over at opgaven kunne løses på så mange måder. Hvis i skulle være nysgerrige omkring SQL\'ens brug så var det netop at få nummeret på sidst oprettede post så jeg kunne give næste post det korrekte id nummer (id nummeret er altså det eneste jeg er interesseret i). SQL\'en skal indgå i et asp script til en gæstebog jeg har ladet mig overtale til at lave til en kammerat. id nummeret bliver brugt til at finde den rigtige textfil (der indeholder en besked til gæstebogen), samt til at styre opstillingen/rækkefølgen af beskeder på siden (nyeste 10 i kronologisk rækkefølge på første side, de forrige 10 på anden side osv).
Der er sikkert smartere måder at gøre dette på men jeg var doven og tog den første og bedste løsning der faldt mig ind :)
Mht. uddeling af point har jeg besluttet mig for at tildele dem til den der var hurtigst ude med et korrekt (brugbart) svar og det må siges at være joern_h. Til alle jer andre (og også joern_h) mange tak for jeres indsats, jeg havde ikke forventet så mange (og oven i købet korrekte) svar på så kort tid.
Wookie.
PS: hvis der er nogen der har noget fornuftigt at tilføje så modtages alt med kyshånd.
Avatar billede wookie Nybegynder
22. juli 2001 - 01:40 #13
har lige fundet ud af at man kan dele points ud som det passer en så det gør jeg istedet. med andre ord: snydt joern_h du må dele med moonduck... dog får du lidt mere end han gør pga. hans kommentar om mine evner indenfor SQL\'ens verden.... det kan godt være det er sandt men det er stadigt lidt frækt!!... (ok indrømmet.. jeg sov i stort set samtlige DB timer... :)
Avatar billede jakobandersen Nybegynder
22. juli 2001 - 01:41 #14
Hvis du bruger MS SQL vil jeg anbefale dig at kigge på @@Identity hvis du derimod bruger access kunne det være at denne artikel var et hit: http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=79

PS: Det er altid fornuftigt at oplyse hvilket (O)RDBMS man bruger.
Avatar billede erikjacobsen Ekspert
22. juli 2001 - 08:54 #15
Til en gæstebog på en privat side, er det nok hip som hap hvad du gør,
men kun en sidste kommentar fra moonduck dur til en professionel side.
Og så det hedder det oveikøbet noget andet hvis du bruger MySql....
Avatar billede wookie Nybegynder
22. juli 2001 - 19:42 #16
hehe der er vist mulighed for noget rigtigt rod med min løsning. Jeg havde godt nok overvejet om ikke der var problemer med samtidighed, men blev til sidst enig med mig selv om at så længe man havde forbindelse til databasen så kunne der nok ikke kobles andre på (det ville være en alvorlig flaskehals, men hey!! det er jo et microsoft produkt :). Men som sagt så er DB\'er ikke min stærke side... (nææ.. stik mig noget Java kode i stedet!!! der kan man i det mindste styre samtidigheds problemer på en fornuftig måde :). Igen mange tak for hjælpen (sidste link fra moonduck så specielt interessant ud).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB