Avatar billede texas2 Nybegynder
31. august 2002 - 14:55 Der er 2 løsninger

Sortering af fataset udvalgt med DISTINCT?

Jeg har følgende SQL query :

SQL = "SELECT DISTINCT cid FROM ps_ordre WHERE levid=" & CDBl(session("lev_id"))

Jeg ønsker at sortere dette dataset efter kolonnen dato : SQL = "SELECT DISTINCT cid FROM ps_ordre WHERE levid=" & CDBl(session("lev_id")) & " ORDER BY dato DESC"

Men dette giver fejlen : "Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]ORDER BY items must appear in the select list if SELECT DISTINCT is specified." I IE.

Jeg bruger SQL Server 2000.
Avatar billede ocp Nybegynder
31. august 2002 - 16:06 #1
Jamen det kan man jo ikke. Du vælger at begrænse antallet af forekomster til en af hver art, men så er oplysningen om hvilken dato der er tilknyttet forekomsten jo "slettet".
Avatar billede lasse_buck Nybegynder
02. september 2002 - 01:32 #2
ocp's svar er korrekt. Der kan være mere end en dato for hvert cid.

GROUP BY kan måske give dig, hvad du ønsker. Du skal samtidig anvende et gruppe-funktion på dato (min, max, avg, mfl.).

Eksempler:
SELECT cid FROM ps_ordre WHERE levid=1324 GROUP BY cid ORDER BY max(dato) DESC;

SELECT cid, min(dato) as mindato FROM ps_ordre WHERE levid=1324 GROUP BY cid ORDER BY mindato DESC;
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