使用SQL语句实现分组的第一天
2016-08-24 22:04
260 查看
最近有用到sql对某些信息进行分组(ps:其实一开始我是使用java代码先实现分组,然后再往表里插数据的,但老大不太认可,所以改用sql语句分组)
因为本身sql的功底比较差,所以写不出什么东西,于是老大亲自出马,写了一些sql语句给我,然后我对这些语句分析了一下,总结如下:
1. 使用的是存储过程,过程中使用到了游标,定义格式: DECLARE 游标名 COURSE FOR select_statem ,使用的话有打开游标,遍历游标
有一个不是太明白,DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET
s= 1; 百度后发现是处理没有数据后的处理,这里当没有数据后,设置变量s=1
2. 序列号的获取rownum:
SELECT @rownum:=@rownum+1 AS rownum
......
cross join (SELECT @rownum:=0) r,
这个在某些地方还是挺有用处的
3. 在存储过程中set 变量名=变量值 应该放在所有DECLARE语句后面,否则会报错
4.MySql存储过程的DECLARE声明变量必须放在最前面
因为本身sql的功底比较差,所以写不出什么东西,于是老大亲自出马,写了一些sql语句给我,然后我对这些语句分析了一下,总结如下:
1. 使用的是存储过程,过程中使用到了游标,定义格式: DECLARE 游标名 COURSE FOR select_statem ,使用的话有打开游标,遍历游标
有一个不是太明白,DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET
s= 1; 百度后发现是处理没有数据后的处理,这里当没有数据后,设置变量s=1
2. 序列号的获取rownum:
SELECT @rownum:=@rownum+1 AS rownum
......
cross join (SELECT @rownum:=0) r,
这个在某些地方还是挺有用处的
3. 在存储过程中set 变量名=变量值 应该放在所有DECLARE语句后面,否则会报错
4.MySql存储过程的DECLARE声明变量必须放在最前面
相关文章推荐
- (Sql Server高级技巧)使用SQL语句实现备份与还原
- 使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期)
- C#拼接SQL语句,SQL Server 2005+,多行多列大数据量情况下,使用ROW_NUMBER实现的高效分页排序
- sqlServer 中使用sql语句实现固定分页功能
- 使用反射让linq实现动态查询, 类似拼接sql语句的where 条件
- 使用sql语句实现跨数据库获取信息
- 用类似操纵Sql语句的方式快速实现Excel读写的方法(oleDB 方式)-不使用OWC
- .NET数据库编程求索之路--3.使用ADO.NET实现(SQL语句篇)(1)
- [MS SQL]SQL语句查询每个分组的前N条记录的实现方法
- SQL Server设置主键自增长列(使用sql语句实现)
- 使用标准SQL语句实现分页操作(Oracle)
- Hibernate使用sql语句实现多表关联查询
- 使用SQL语句查询每个分组的前N条记录
- .NET数据库编程求索之路--3.使用ADO.NET实现(SQL语句篇)(2)
- 关于统计的一个sql问题,使用动态sql语句实现。
- 使用动态SQL语句实现Sbo的客户物料组销售二维分析
- 在ORACLE中使用SQL语句实现排列组合
- 使用sql语句实现分页
- [转]使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串
- 使用sql语句实现递归