2017-02-15 19 views
1

Я борюсь за оператор SQL Access. Я попытался найти здесь какой-то ответ, но вопрос, казалось, не охватывал, что я имею в виду:Доступ к SQL: как группировать и выбирать различные значения в каждой группе?

Мне нужно сгруппировать записи по одному титу, затем в каждой группе я хочу выбрать только 1 (первое) появление Части, например :

Title | Part 
-------------- 
one  A 
one  A 
one  B 
one  B 
one  C 
one  C 
------------- 
two  A 
two  A 
two  B 
two  B 
two  C 
two  C 

Wished Result: 

Title | Part 
-------------- 
one  A 
one  B 
one  C 
------------- 
two  A 
two  B 
two  C 

Я был бы рад любой помощи :)

я пытался до сих пор несколько комбинаций GROUP BY, ORDER BY, DISTINCT, но ничего не приводят к результату.

ответ

0

Надеюсь, я правильно понял вопрос.

Пытался создать подобную ситуацию. Пожалуйста, проверьте ниже запрос.

Rextester Link - http://rextester.com/TNSME52397

create table test 
(

    col1 varchar(100), 
    col2 varchar(100) 


    ) 


insert into test values('one','A'); 
insert into test values('one','A'); 
insert into test values('one','B'); 
insert into test values('one','B'); 
insert into test values('one','C'); 
insert into test values('one','C'); 
insert into test values('two','A'); 
insert into test values('two','A'); 
insert into test values('two','B'); 
insert into test values('two','B'); 
insert into test values('two','C'); 
insert into test values('two','C'); 


select col1 , col2 from 
(
select col1 , col2 , 
row_number()over (partition by col1,col2 order by col1,col2) rn 
from test 
) a 
where rn =1 
;