易截截图软件、单文件、免安装、纯绿色、仅160KB

做矩阵1)关于sql语句

做个矩阵,其实就是个二维数组,关键是要从数据库里调些数据,sql语句不熟练,就边学边用,同步地记些笔记,方便查阅
关于distinct和order by 发了个帖子(第一次哦) 
首帖:
用的是oracle的数据库
目的是想选出唯一的userid(原有重复值),并且按照filepos排序(原filepos是1,2,3.。。不重复的序号)
问题:以下语句都不能满足要求
1)select distinct userid from bbsfile where rootid=371841(不重复,但是没按顺序排)
2)select distinct userid,filepos from bbsfile where rootid=371841 order by filepos(按顺序排列,但是有重复)
3)select distinct userid from bbsfile where rootid=371841 order by filepos(语法出错)
就是想让出现重复值的一列按照没有重复值得一列排序
有一个简单的回复解决了问题
select userid from bbsfile where rootid=371841 group by userid order by min(filepos);
思考的角度变一下就出结果了,这里关键是用到了min 这么简单的就去掉了重复。
分析:distinct 只能选出后面跟的一串字所构成的行,让每一行都不相同。
但是,order by 后面的东西又必须出现在distinct 后面 。所以出现了上述问题。或许还有别的好的解决办法,暂没想到。
考虑时间:由于时间包括日期和时间,如果仅是filetime=xx年月日 返回空,to_char很好用,可以将时间转换为特定格式。
trunc(filetime)='15-10月-07' and to_char(filetime,'hh24') between 18 and 20 group by bbsuserid order by min(filepos)";


相关文档:

SQL 中ROLLUP 用法

ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。 下面是 CUBE 和 ROLLUP 之间的具体区别: CUBE 生成的结果集显示了所选列中值的所有组合的聚合。 ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。 ROLLUP 优点: (1)ROLLUP 返回单个结果集,而 COMPUTE BY 返回多个结 ......

sql基础知识

SQL语言由命令、子句、运算和集合函数等构成。在SQL中,数据定义语言DDL(用来建立及定义数据表、字段以及索引等数据库结构)包含的命令有CREATE、DROP、ALTER;数据操纵语言DML(用来提供数据的查询、排序以及筛选数据等功能)包含的命令有SELECT、INSERT、UPDATE、DELETE。
一、SQL语句
(1)Select 查询语句
语法:SE ......

SQL注入攻击

 SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序 ......

用SQL删除重复记录的N种方法

用SQL删除重复记录的N种方法
2009-06-03 17:35
例如:
id           name         value
1               a     &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号