我有一个类似下面的查询,它返回每个组的连接日期链:
myTable
包含group_id
,date
和region
SELECT
GROUP_CONCAT(
date
ORDER BY DATE DESC SEPARATOR '<-'
) AS date_chain
FROM myTable
GROUP BY group_id
但是,我想省略该组中有多个region
值的任何组。有没有直接的方法来实现这个目标?
e.g。如果我们有
group_id | date | region
________________________
1 | 2012 | US
1 | 2013 | UK
2 | 2010 | US
2 | 2014 | US
我们应该返回2014<-2010
,但不是2013<-2012
,因为第1组更改了区域
答案 0 :(得分:0)
http://sqlfiddle.com/#!9/94ee4a/1
SELECT
GROUP_CONCAT(
date
ORDER BY DATE DESC SEPARATOR '<-'
) AS date_chain
FROM myTable
GROUP BY group_id
HAVING COUNT(DISTINCT region)<2