2014-02-17 58 views
1

我正在使用select distinct来返回唯一不同的数据,但我希望它将所有列的区别基于不包含agg_source_tag_tag_name的区别。从所有列中选择不同的数据,但是1

这里是我的查询:

SELECT DISTINCT agg_article_title,agg_article_link,agg_article_media,agg_article_description,agg_article_source_name, agg_source_tag_tag_name, agg_source_url 
FROM agg_article join agg_source ON agg_article_source_name = agg_source_name join agg_source_tag ON agg_source_name = agg_source_tag_source_name 
WHERE agg_source_included = 1 

我得到以下结果:

agg_article_title | agg_article_link | agg_article_media | agg_article_description | agg_article_source_name | agg_source_tag_tag_name | agg_source_url | 
--------------------------------------------------------------------------------------------------------------------------------------------------------- 
some title 1  | some link 1  | some media 1  | some description 1  | some source name 1  | tag1     | someurl1  | 
--------------------------------------------------------------------------------------------------------------------------------------------------------- 
some title 1  | some link 1  | some media 1  | some description 1  | some source name 1  | tag2     | someurl1  | 

我碰到下面的返回,因为所有的列是事实,因为agg_source_tag_tag_name的不同,但是,我只想要返回一行,因为我想省略agg_source_tag_tag_name。

回答

1

尝试对GROUP BY

SELECT agg_article_title,agg_article_link,agg_article_media,agg_article_description,agg_article_source_name, agg_source_tag_tag_name, agg_source_url 
    FROM agg_article 
    join agg_source 
    ON agg_article_source_name = agg_source_name 
    join agg_source_tag 
    ON agg_source_name = agg_source_tag_source_name 
    WHERE agg_source_included = 1 
    GROUP BY agg_article_title, agg_article_link 

,您可以按什么都cloumn你想要的。

相关问题