`
webeasymail
  • 浏览: 2609 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

通过SQL的select语句自动得到count语句和得到sql server 2005 的分页查询

阅读更多

 

String sql = "select u.name from Users u order by u.id ";
		System.out.println(SqlServer2005PageHepler.getLimitString(sql, 1, 10));
		System.out.println(SqlCountHepler.getCountString(sql));
		
		sql = "select u.sex,count(1) c,max(u.id) t_max,min(u.name) as t_min from users u group by u.sex having count(1) > 10 order by count(u.sex)";
		System.out.println(SqlCountHepler.getCountString(sql));
		System.out.println(SqlCountHepler.getCountString(sql));
		

		sql = "select u.username,count(1) c,max(u.id) t_max from tplt_user u group by u.username having count(1) > 5 order by count(u.username) DESC";
		System.out.println(SqlServer2005PageHepler.getLimitString(sql,1, 10));
		System.out.println(SqlCountHepler.getCountString(sql));
		

 

 执行结果:

select * from (select ROW_NUMBER() OVER (order by u.id  ) AS row_num_ ,  u.name from Users u ) t where row_num_ > 1 and row_num_ <=  10
select count (1) count_  from Users u 
select count(1) count_ from (select u.sex,count(1) c,max(u.id) t_max,min(u.name) as t_min from users u group by u.sex having count(1) > 10  ) t_
select count(1) count_ from (select u.sex,count(1) c,max(u.id) t_max,min(u.name) as t_min from users u group by u.sex having count(1) > 10  ) t_
select * from (select ROW_NUMBER() OVER (order by count(u.username) DESC ) AS row_num_ ,  u.username,count(1) c,max(u.id) t_max from tplt_user u group by u.username having count(1) > 5 ) t where row_num_ > 1 and row_num_ <=  10
select count(1) count_ from (select u.username,count(1) c,max(u.id) t_max from tplt_user u group by u.username having count(1) > 5  ) t_

 

 

 

 不支持"UNION " 和“UNION ALL ” 这样的结果合并语句,例如:

select * from dbo.[user]
union
select top 1 * from dbo.[user] order by age

 

如果你需要得到正确的结果你需要这样写,如下:

 

select * from (
	select * from dbo.[user]
	union 
	select top 1 * from dbo.[user] order by age
) Q order by id

 

 

 

分享到:
评论
1 楼 webeasymail 2008-09-28  
谢谢你提出了这个问题!
本来想10.1过后在完成这个BUG,但是想想一个错误的东西放在上面,不是很舒服,就抽出了一点时间修改了一下~

相关推荐

    sqlserver+group by分组查询分页存储过程

    根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...

    SQLServer实用SQL语句大全

    4. 分页查询:通过ROW_NUMBER()、OFFSET和FETCH NEXT来实现查询结果的分页显示。 三、SQL Server特有函数 1. T-SQL(Transact-SQL)扩展:SQL Server独有的编程语言,包括存储过程、触发器、游标等高级功能。 2. ...

    SQL数据库查询语句基础文本——可复制的查询语句

    SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言,它的功能强大且广泛应用于各种数据库系统,如MySQL、Oracle、SQL Server等。本资源“SQL数据库查询语句基础文本——可复制的查询语句”提供...

    《Microsoft SQL Server 2005技术内幕:T-SQL查询》示例代码

    1. **基础查询**:包括SELECT语句的基本用法,如选择字段、过滤数据(WHERE子句)、排序(ORDER BY子句)、分组(GROUP BY子句)和计算(聚合函数如COUNT、SUM、AVG等)。 2. **联接操作**:包括内连接(INNER JOIN...

    SQL常用查询语句大全

    - 分页查询:通过LIMIT和OFFSET关键字实现,例如`SELECT * FROM 表名 LIMIT 10 OFFSET 20`将返回第21到第30条记录。 - 聚合函数:如SUM、AVG、MAX、MIN、COUNT等,用于对一列数据进行计算。 学习SQL的过程中,理解...

    常用数据库sql分页

    数据库SQL分页技术 数据库分页是指从大规模的数据集中提取指定的记录数,以减少数据传输量,提高应用程序的性能和用户体验。常见的数据库管理系统包括MySQL、SQL Server、Oracle、DB2等,每种数据库管理系统都有其...

    SQL查询语句大全集锦

    10. **分页查询**:LIMIT和OFFSET关键字在MySQL中用于分页,而在SQL Server中则使用TOP和OFFSET/FETCH。 11. **动态SQL**:动态SQL允许在运行时构建和执行SQL语句,这在需要灵活生成SQL或执行未知查询结构时非常...

    利用标准的SQL语句实现查询记录分页

    以下是一个基本的SQL分页查询模板: ```sql SELECT * FROM your_table t1 WHERE (SELECT COUNT(*) FROM your_table t2 WHERE t2.order_field ) &gt;= start_record AND (SELECT COUNT(*) FROM your_table t2 WHERE ...

    标准SQLServer分页存储过程

    ### 标准SQL Server分页存储过程:深入解析与应用 在处理大量数据时,分页技术是提高数据展示效率和用户体验的关键。SQL Server提供的存储过程是实现分页功能的有效方式之一。本文将深入探讨微软C# .NET中的宠物...

    sql语句电子书 . .

    1. SELECT语句:学习如何使用SELECT语句从数据库中检索数据,包括选择列、过滤行、排序结果和分组数据。 2. JOIN操作:了解JOIN的不同类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN,以及如何合并多个表中...

    数据库查询语句(SQL语句)大全

    4. 分页查询:使用LIMIT和OFFSET获取特定范围的数据,如`SELECT * FROM table_name LIMIT number OFFSET offset_number;` 5. 联接查询:包括内联接(INNER JOIN)、左联接(LEFT JOIN)、右联接(RIGHT JOIN)和全联接...

    数据库sql语句按时间查询全部详解

    ### 数据库SQL语句按时间查询全部详解 在数据库管理中,经常需要对数据进行时间相关的查询操作。本文将详细介绍如何使用SQL语句来进行基于时间的查询,...掌握这些技巧可以帮助数据库管理员更加高效地管理和查询数据。

    access_sql查询语句

    ### Access SQL 查询语句详解与分页技巧 在数据库管理领域,SQL(Structured Query Language,结构化查询语言)是操作关系型数据库的标准语言之一。它主要用于执行查询、更新数据、创建新表、删除表或访问控制等...

    SQL查询语句实用大全(适合SQL的初学者以及经常写SQL的人)

    通过以上介绍,我们可以看到SQL查询语句的强大之处,它不仅可以帮助我们高效地管理数据,还能实现复杂的数据分析和处理任务。希望这些内容能够帮助初学者以及经常写SQL的人更好地理解和掌握SQL查询语句。

    SQL语句总结

    2. **读取(Read)**:查询数据是SQL的基石,`SELECT`语句是最常用的命令。可以选取一个或多个列,使用`WHERE`子句过滤结果,`FROM`指定数据来源。更复杂的查询可以通过`JOIN`实现,例如内连接(INNER JOIN)、左...

    SQL查询语句应用

    - **SELECT语句**:SQL的基本查询始于SELECT,它用于从数据库中检索数据。例如,`SELECT * FROM table_name;` 将返回表table_name中的所有记录。 - **WHERE子句**:WHERE用于筛选满足特定条件的记录,如 `SELECT *...

    SQLite 查询所有 分页查询 查询个数

    在SQLite中,你可以使用SQL的SELECT语句来查询表中的所有数据。基本语法如下: ```sql SELECT * FROM 表名; ``` 这里的`*`代表所有列,`表名`是你要查询的表的名称。这将返回指定表中的所有行和列。 2. 分页查询: ...

    sql语句使用经典例子

    SQL(Structured Query Language)是用于管理和操作关系型数据库的标准语言,包括数据查询、数据更新、数据插入和数据删除等操作。以下将详细解释标题和描述中...通过这些例子,可以更好地理解和掌握SQL语句的运用。

Global site tag (gtag.js) - Google Analytics