21. december 2007 - 04:34
Der er
8 kommentarer
Limit antal der bliver trukket ud, som i MySQL
Hej Eksperter, Jeg er netop begyndt på Oracle, og kommer fra MySQL - men jeg sidder med et lille problem. Jeg vil gerne begrænse udtrækket, så det kun er det højste ID der kommer ud. I MySQL vil jeg gøre dette: "SELECT * FROM REKVISITION ORDER BY ID DESC LIMIT 1". Hvordan gør jeg det, i Oracle? På forhånd tusind tak, og god jul til alle ;-)
Annonceindlæg fra Infor
21. december 2007 - 08:29
#3
pgroen: Det virker ikke.. Godt bud. nielle: Jeg kender ikke det højeste, så den skal "order by ID DESC " og så er det kun en der skal hives ud.
21. december 2007 - 09:07
#5
Øh, nu bliver jeg stædig - Hvad er det, der ikke virker? I øvrigt så vil nielles forslag i dit tilfælde lyde som noget i retning af: SELECT * FROM ( SELECT subq.*, rownum n FROM ( SELECT * FROM rekvisition ORDER BY id DESC) subq ) WHERE n = 1 / og holdams forslag virker selvfølgelig også ;-)
21. december 2007 - 18:51
#6
Direkte tilpasset fra SqlZoo's eksempel: SELECT * FROM ( SELECT *, rownum n FROM ( SELECT * FROM REKVISITION ORDER BY ID DESC ) ) WHERE n BETWEEN 0 AND 0 Her kan den sidste nok skrives: WHERE n = 0 (måske er det 1 i stedet for 0) Det jeg godt kan lide ved SqlZoo's løsning er at den kan anvendes helt generelt på ...LIMIT n, m Det jeg godt kan lide ved SqlZoo's site er hvordan de sammenlignere syntaksen i forskellige databaser. :^)