如何查询某字段最大值的行记录?

wuqiwyt 2014-11-26 04:23:32
看下面的图可能描绘的清楚些:


表名为qysds,表中的列分别是纳税人识别号,纳税人名称,补充申报类型,销售收入,应纳税额,所属年度。怎么用SQL语句查询不同纳税人补充申报类型为最大值的哪些行记录信息?例如上表中我想得到是下表中红色颜色信息:
...全文
795 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
reenjie 2014-11-27
  • 打赏
  • 举报
回复

select  *  from 
(
select  * , row_number() over(partition by nsrsbh  order by bcsblx desc)  as rId
from qysds 
)  as  a
where rId = 1 

还在加载中灬 2014-11-27
  • 打赏
  • 举报
回复
SELECT
    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
那这样试试
wuqiwyt 2014-11-26
  • 打赏
  • 举报
回复
记录的查询是该纳税人补充申报类型bcsblx取最大值的那行,和销售收入无关
wuqiwyt 2014-11-26
  • 打赏
  • 举报
回复
谢谢楼上朋友们,测试后反馈。
卖水果的net 版主 2014-11-26
  • 打赏
  • 举报
回复

select * from 
(
select *  , row_number() over(partition by nsrsbh  order by xssr desc)  as rn
from qysds 
) x 
where rn = 1 
--小F-- 2014-11-26
  • 打赏
  • 举报
回复
select * from qysds as a where not exists(select 1 from qysds where nsrsbh=a.nsrsbh and bcsblx>a.bcsblx)
wuqiwyt 2014-11-26
  • 打赏
  • 举报
回复
引用 1 楼 xdashewan 的回复:
select a, max(b) from table
group by a
好像不行,还是显示全部记录
还在加载中灬 2014-11-26
  • 打赏
  • 举报
回复
SELECT
	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
应该可以
xdashewan 2014-11-26
  • 打赏
  • 举报
回复
select a, max(b) from table
group by a

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧