Avatar billede kimlarsen1978 Nybegynder
29. november 2006 - 20:47 Der er 3 kommentarer og
1 løsning

Find 3 tilfældige blandt de nyeste 10

Hejsa
Hvordan får jeg i MySQL skrevet at den skal tage 3 tilfældige af de nyeste 10 poster fra en tabel?

Altså:
Finde 3 tilfældige poster blandt de 10 nyeste poster, hvilket vil sige blandt de 10 med højst ID.

Lidt "dummy" kode:
SELECT * FROM artikler WHERE ikkeGodkendt = 0 ORDER BY id DESC LIMIT 0,10 RAND() LIMIT 0,3

Jeg har haft samme spg på: http://www.eksperten.dk/spm/747919, men her løb svaret ud i skoven - derfor opretter jeg en ny. Denne gang med flere points.
Avatar billede arne_v Ekspert
29. november 2006 - 21:26 #1
hvis nyere MySQL:

SELECT * FROM (SELECT * FROM artikler WHERE ikkeGodkendt = 0 ORDER BY id DESC LIMIT 10) x ORDER BY RAND() LIMIT 3
Avatar billede kimlarsen1978 Nybegynder
30. november 2006 - 08:54 #2
Super :-)
Det virker.

Men jeg forstår ikke helt hvad det x inden ORDER BY gør - ud over at få det til at virke :-)
Avatar billede arne_v Ekspert
30. november 2006 - 13:43 #3
det er en navngivning af resultatet fra den query du selecter from

du bruger det ikke men syntax mæssigt skal det være der

og svar
Avatar billede kimlarsen1978 Nybegynder
30. november 2006 - 18:24 #4
:-)
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