我正在使用特色维基百科文章的XML转储(包括修订和提取的引文)。
我当前的查询连接三个表以返回所有特色文章修订的引用,按页面标题,作者,年份和时间戳排序,如下所示:
____TIMESTAMP______PAGE_TITLE____AUTHOR____YEAR___TITLE_______
1___20110801...____AARDVARK______BLAND_____2010___MAJESTIC AARDVARKS
2___20110910...____AARDVARK______BLAND_____2010___MAJESTIC AARDVARKS
3___20120101...____AARDVARK______BLAND_____2012___AARDVARK BEHAVIOUR
4___20070601...____AARDVARK______SMITH_____2005___BREEDING HABITS OF
5___20090602...____AARDVARK______SMITH_____2005___BREEDING HABITS OF
理想情况下,我的查询只返回每个唯一引文的最早实例[min(timestamp)]。换句话说,我想要一个只返回行1,3和4的查询。我仍然需要在page_title,author,year方面重复一遍,因为每页有多个引用,可能有几个由同一作者引用。
非常感谢您的帮助!
答案 0 :(得分:0)
以下查询应该有助于在mysql环境中使用group_concat函数。
SELECT title, min(timestamp) min_ts, group_concat(page_title) pts
,group_concat(author) as, group_concat(year) ys
FROM temp_table -- For simplicity I assume your above data is in a temp_table
GROUP BY title
包含相关查询有助于回答您问题的人,而无需创建问题上下文和测试。还提供更多详细信息,如DBMS - mysql,postgres等