$get_sql = "SELECT sql_calc_found_rows field1,field2 FROM table WHERE name = '1' order by add_time desc limit 2,20 "; $get_total_sql = "SELECT FOUND_ROWS() as total";
SQL Server 获取数据的总记录数,有两种方式: 1.先分页获取数据,然后再查询一遍数据库获取到总数量 2.使用count(1) over()获取总记录数量 SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY Id DESC) rn, ) OVER() AS TotalCount, Id FROM dbo.T_User )a WHERE a.rn 第二种方式既分页还能获取到总记录数量.就是多一个字段,如果获取一次数据较多的话,会浪费一些流量.
比如有这样一条SQL,根据t.user_id,t.report_date两个字段统计 这样前端页面能展示数据,但往往需要一个总记录数,在有分页的情况下用到 一种解决方法是在外面套一层,然后对其count(*) SELECT COUNT(*) FROM (SELECT t.report_date ,t.user_id FROM my_table t GROUP BY t.user_id,t.report_date ) AA 还有一种简单的方法可以这样写 SELECT COUNT(DISTINCT
<!-- 查找总记录数 --> <select id="billCount" resultType="int"> select count("sb.id") as billCount,sp.proName as sproName from smbms_bill sb,smbms_provider sp where sb.providerId=sp.id </select> 此处省略映射接口的方法>>
--第1种 执行全表扫描才能获得行数 SELECT count(*) FROM BUS_tb_UserGradePrice --第2种 执行扫描全表id不为空的,获得行数 select count(userid) from BUS_tb_UserGradePrice where userid is not NULL --第3种 直接从系统表中查询表的总记录数(特别适合大数据) SELECT rows FROM sysindexes WHERE id = OBJECT_ID('dbo.BUS_tb
//参考代码 //第一种方法: String hql = "select count(*) from User as user"; Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next(); return count.intValue(); //第二种方法: String hql = "select count(*) from User as user"; retu