怎样在SQL中实现这类查询?
表:
地址 姓名 孩子数 出生时间 死亡时间
河北 张三 第一个 1980年9月
河北 张三 第二个 1983年2月 1984年1月
河北 张三 第三个 1987年6月
湖北 李四 第一个 1983年6月
河南 张天 第一个 2001年9月 2001年11月
河南 张天 第二个 2004年7月
河南 张天 第三个 2006年2月
怎样实现查询结果为:
地址 姓名 孩子数 出生时间 孩子数 出生时间 孩子数 出生时间
河北 张三 第一个 1980年9月 第二个 1987年6月
湖北 李四 第一个 1983年6月
河南 张天 第一个 2004年7月 第二个 2006年2月
也就是说排除死亡人口后,其他人员前移一下,在SQL2008中怎样实现这样的查询了??
------解决方案--------------------
row_number() over(pardition by 地址,姓名 order by 出生时间)这个从新排序,然后再用case when 转换..然后再转换