已经找了几个小时了,我找不到任何相关的东西,所以我会问。我有一个这样的数据库:显示同一个组的SQL数据库出现两次或更多
id | date | name
1 |2017-01-01 | sarah
2 |2017-01-02 | sarah
3 |2017-01-03 | john
4 |2017-01-04 | john
5 |2017-01-05 | john
6 |2017-01-06 | sarah
7 |2017-01-07 | sarah
8 |2017-01-08 | eddy
9 |2017-01-09 | eddy
我希望做一个清单象下面这样:
start date | end date | name
2017-01-01 | 2017-01-02 | sarah
2017-01-03 | 2017-01-05 | john
2017-01-06 | 2017-01-07 | sarah
2017-01-08 | 2017-01-09 | eddy
我怎样才能做到这一点?一直在尝试使用:
SELECT MIN(date) as mindate, MAX(date) as maxdate, name
FROM 'table'
GROUP BY name
ORDER BY date DESC
,但我得到这些来代替:
start date | end date | name
2017-01-01 | 2017-01-07 | sarah
2017-01-03 | 2017-01-05 | john
2017-01-08 | 2017-01-09 | eddy
请注意,在列表中我想,这个名字SARAH出现了两次,并与GROUP BY,萨拉只出现过一次。 ..
确定日期是开始日期还是结束日期的规则是什么? – DaveCoast
@DaveCoast'id'确定空隙和岛屿。 –