Avatar billede linroc Nybegynder
07. maj 2004 - 08:09 Der er 8 kommentarer og
1 løsning

SQL select med distinct på enkelt felt

Hej,

jeg har en tabel:
id:  value: 
1    aa   
2    aa
3    bb
4    cc
5    dd

hvor jeg gerne vil selecte begge felter, men med distinct kun på value så resultat bliver
id:  value:
1    aa
3    bb
4    cc
5    dd

Men jeg kan ikke finde ud af at lave en distinct på et enkelt felt - når begge felter skal med i retur værdien??

/linroc
Avatar billede arne_v Ekspert
07. maj 2004 - 10:22 #1
Hvad med:

SELECT MIN(id),value FROM tabel GROUP BY value

?
Avatar billede teepee Nybegynder
08. maj 2004 - 10:55 #2
Du kan evt. bruge

select value, count(id)
from tabel
group by value

så får du en disitnct værdi og et antal rækker som den forekommer i
Avatar billede arne_v Ekspert
08. maj 2004 - 21:07 #3
Umiddelbart tror jeg altså at MIN passer bedre end COUNT med det ønskede output ...
Avatar billede rednex Nybegynder
09. maj 2004 - 11:51 #4
Jeg er enig med arne_v. Der er dog ingen grund til at bruge MIN(). Det funker fint hvis du bare bruger:

SELECT id, value FROM tabel GROUP BY value;
Avatar billede arne_v Ekspert
09. maj 2004 - 11:54 #5
Det må være en Oracle extension så - jeg mener bestemt at i standard SQL skal
alle ikke aggregerede udtryk angives i GROUP BY.
Avatar billede rednex Nybegynder
09. maj 2004 - 11:59 #6
Jeg må indrømme at jeg udførte forsøget på en MySQL, men det kan da være du har ret. Jeg ville lige prøve det i Access også, men det ser ud til at min Access er b0rked :o/
Avatar billede rednex Nybegynder
09. maj 2004 - 12:06 #7
Du har da ret. Et hurtigt kig i MySQL manualen gav dettte:

...MySQL has extended the use of GROUP BY to allow you to select fields which are not mentioned in the GROUP BY clause...
Avatar billede arne_v Ekspert
25. maj 2004 - 00:10 #8
OK ?
Avatar billede linroc Nybegynder
04. juni 2004 - 09:47 #9
Røg lige på ferie - beklager den langsomme tildeling :-)
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

Netcompany A/S

IT Manager

ALD Automotive Danmark A/S

Senior Software Engineer

Capgemini Danmark A/S

Salesforce CTO - Nordics