16. januar 2001 - 13:03Der er
23 kommentarer og 1 løsning
SQL problem
Hvordan kombinere jeg en SQL forespørgsel til at viser de 10 sidste (som med TOP 10 ) forskellige (som med DESTINCT) værdier fra en kolonne? Hvor der sorteres, så den nyeste record står først??
SELECT TOP(10) FROM (SELECT DISTINCT Titel FROM opgaver)
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'
[Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
Jeg har en ID(autonummer) kolonne, så det er ingen problem. Ploblemet er at jeg ikke kan sortere på den (DISTINCT) kolonne, og så snart jeg putter en ekstra kolonne ind i min select, bliver visningen ikke forkert!
SELECT TOP(10) FROM (SELECT TITEL FROM OPGAVER ORDER BY Opgave_ID DESC)
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'
[Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
[Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
DISTINCT staves da vist DESTINCT, den gør også dit udtræk langsom, men den er beregnet til at fjerne gentagelser og ikke noget med de første 10, og virker fint.
PS. Husk SQL er stort set det samme som mængdelære
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.