Avatar billede new2the Nybegynder
18. juni 2007 - 16:46 Der er 5 kommentarer og
1 løsning

fjern nogle af de ens data

er der nogen der kan regne den her ud ?

har en tabel noget lign dette. 
h_id,u_id,txt 
1    1     
1    2 
1    3
1    8
2    4
2    5
2    6
2    11


nu er problemet at jeg har brug for en liste hvor der kun er 3  ens h_id altså 3 med 1 og 3 med 2 osv.
Avatar billede lorentsnv Nybegynder
18. juni 2007 - 18:04 #1
Select distinct h_id from tabel ?
Jeg er lidt usikker på hvad du spørger efter. Ønsker du kun at se de unike/distincte værdier?
Avatar billede new2the Nybegynder
18. juni 2007 - 18:17 #2
jeg ved godt den er lidt tricky,

det jeg forsøger er gøre er at vise teksten fra de 3 første ens h_id så jeg får en liste bestående af grupper på 3 med ens h_id .
Avatar billede lorentsnv Nybegynder
18. juni 2007 - 18:50 #3
Kan du vise mig hvilket resultat du gerne vil have med ovenstående data?
Måske er det noget i retnign af (fungerer på SQL Server 2005, men ikke tidligere):

Select h_id, u_id
from (
select *, rank() over (Partition by h_id order by u_id) as rank
from dbo.LNVTest) as a
where rank <= 3

Ovenstående sørger for at tildele hver række et fortløbende nummer, men starter forfra ved hvert h_id og sorterer på u_id.
Avatar billede lorentsnv Nybegynder
18. juni 2007 - 19:13 #4
Ups, jeg fik navnet på min testtabel i SQL'en. Byt 'Tabel' ud med dit tabelnavn:

Select h_id, u_id
from (
select *, rank() over (Partition by h_id order by u_id) as rank
from 'Tabel') as a
where rank <= 3
Avatar billede new2the Nybegynder
18. juni 2007 - 19:42 #5
wow det var lige præcis det jeg forsøgte at gøre , mange tak den havde jeg aldrig fundet ud af selv. 

håber du vil lægge et svar så du kan få dine velfortjente point.
Avatar billede lorentsnv Nybegynder
18. juni 2007 - 19:50 #6
Du skal måske lige kigge på de forskellige rank-funktioner i SQL Server, da der er 4 forskellige, med lidt forskellig virkemåde. Rank kan give mere end 3, hvis der kan være flere lige kombinationer af h_id og u_id. Muligvis skal du skifte Rank ud me Row_number.
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