看下面的图可能描绘的清楚些:
表名为qysds,表中的列分别是纳税人识别号,纳税人名称,补充申报类型,销售收入,应纳税额,所属年度。怎么用SQL语句查询不同纳税人补充申报类型为最大值的哪些行记录信息?例如上表中我想得到是下表中红色颜色信息:
表名为qysds,表中的列分别是纳税人识别号,纳税人名称,补充申报类型,销售收入,应纳税额,所属年度。怎么用SQL语句查询不同纳税人补充申报类型为最大值的哪些行记录信息?例如上表中我想得到是下表中红色颜色信息:
group by a
T1.*
FROM
qysds T1
JOIN(SELECT nsrsbh,MAX(xxsr)xxsr FROM qysds GROUP BY nsrsbh)T2
ON T1.nsrsbh=T2.nsrsbh AND T1.xxsr=T2.xxsr应该可以
select * from
(
select * , row_number() over(partition by nsrsbh order by xssr desc) as rn
from qysds
) x
where rn = 1
T1.*
FROM
qysds T1
JOIN(SELECT nsrsbh,MAX(bcsblx)bcsblx FROM qysds GROUP BY nsrsbh)T2
ON T1.nsrsbh=T2.nsrsbh AND T1.bcsblx=T2.bcsblx那这样试试
select * from
(
select * , row_number() over(partition by nsrsbh order by bcsblx desc) as rId
from qysds
) as a
where rId = 1