我有这样的数据:
void reverse ( char* str )
{
if ( *str ) reverse ( str + 1 ); /* If not end of string, recurse.*/
if ( *str ) cout << *str; /* print the character */
}
但我希望这是最终结果:
ID|From Date |To Date
1 |01/01/2014 |04/01/2015
1 |04/01/2015 |01/01/2016
1 |01/01/2016 |12/31/2016
我尝试过分区,但我不太熟悉它是如何工作的。任何建议都将不胜感激。
谢谢!
答案 0 :(得分:2)
我不确定每一行会发生什么,但如果您需要的是每个ID最早的开始日期和最新结束日期......
SELECT ID
, MIN([From Date]) AS [From Date]
, MAX([To Date]) AS [To Date]
FROM Table
GROUP BY ID
这会让你
1 | 01/01/2014 | 12/31/2016