首页 新闻 搜索 专区 学院

Sql 查询最后一条数据已经当前查询条件的总数

0
悬赏园豆:5 [已关闭问题] 关闭于 2016-05-10 14:13

现在有这么个需求,查询总数以及最后一条数据

两条SQL的话为 SELECT COUNT(1)  FROM USER WHERE 相关条件

        SELECT TOP 1 * FROM USER WHERE 相关条件 ORDER BY ID DESC

一条SQL想到的是

  SELECT TOP 1 ROW_NUMBER()OVER(ORDER BY userid asc) as rownumber,* FORM USER WHERE 相关条件 ORDER BY rownumber DESC

这样rownumber列就是总数了,*即最后一天数据

有没有更好的方式?

sql
YangChengHu的主页 YangChengHu | 初学一级 | 园豆:11
提问于:2016-05-04 13:35
< >
分享
所有回答(2)
1

select top 1 *,(select  count(*) from Table_3 where xxx   )  as rownumber from Table_3 where xxx  order by id desc

龍☆ | 园豆:250 (菜鸟二级) | 2016-05-04 17:18
0

 其实写成两个语句未尝不行.  写成一个SQL 语句未必是性能最高的.  本来一个是查询TotalCount一个是查询最后一行数据. 两则要的信息不一致。没必要一个sql都查出来.反而影响可读性和性能.

FrankZC | 园豆:235 (菜鸟二级) | 2016-05-04 20:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册