仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2347|回复: 9
打印 上一主题 下一主题

[学习教程] MSSQL教程之使用静态SQL办理排序成绩

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:38:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
也就是说在php本地调用pdoprepare中的mysql_real_escape_string来操作query,使用的是本地单字节字符集,即编码为xbfx5cx27,并带入到mysql中查询,由于使用setnames设置了连接字符集.静态|办理|排序|成绩
我们常碰到一个存储历程要做都种排序的情形。一般orderby的前提只要一个流动的,这是远远不敷的。必要用一个变量来交换它,而Oracle有不克不及辨认Orderby前面的字符串。该怎样办呢?先看看我的一个糟计划:
IFmyorderby=OBJECTIDDESCthen--按称号排序
OPENoutcurFORSELECT*FROM(
SELECTrownumrowno,t.*FROM(
SELECTOBJECTID,HITS,POSTTIMEFROMCARTOONORDERBYOBJECTIDDESC)t
WHERErownum<endRow)WHERErowno>=startRow;

elsifmyorderby=HITSDESCthen--按点击率排序
OPENoutcurFORSELECT*FROM(
SELECTrownumrowno,t.*FROM(
SELECTOBJECTID,HITS,POSTTIMEFROMCARTOONORDERBYHITSDESC)t
WHERErownum<endRow)WHERErowno>=startRow;

else--定时间排序
OPENoutcurFORSELECT*FROM(
SELECTrownumrowno,t.*FROM(
SELECTOBJECTID,HITS,POSTTIMEFROMCARTOONORDERBYHITSDESC)t
WHERErownum<endRow)WHERErowno>=startRow;

ENDIF;

这固然是一般利用的两种排序体例得以功过,但显得冗杂并且不敷通用。
这时候我的同事的好举措:
---------------------------------------------------------------------------
IF(myorderbyisnotnull)then
mysql:=SELECT*FROM(SELECTrownumrowno,t.*FROM(
SELECTOBJECTID,HITS,POSTTIMEFROMCARTOONORDERBY||myorderby||
)tWHERErownum<||endRow||)WHERErowno>=||startRow;
else
mysql:=SELECT*FROM(SELECTrownumrowno,t.*FROM(
SELECTOBJECTID,HITS,POSTTIMEFROMCARTOONORDERBYposttimeDESC)t
WHERErownum<||endRow||)WHERErowno>=||startRow;
ENDIF;

OPENoutcurFORmysql;

怎样,感到与众不同吧。但愿你能有更好的举措。
因此我们看到,这些信息足够让我们对单个操作实现“逆操作”。
admin 该用户已被删除
沙发
发表于 2015-1-17 23:15:05 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-21 09:54:07 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
简单生活 该用户已被删除
地板
发表于 2015-1-30 14:18:11 | 只看该作者
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
深爱那片海 该用户已被删除
5#
发表于 2015-2-6 13:20:30 | 只看该作者
无法深入到数据库系统层面去了解和探究
海妖 该用户已被删除
6#
发表于 2015-2-16 07:00:15 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
第二个灵魂 该用户已被删除
7#
 楼主| 发表于 2015-3-5 00:22:47 | 只看该作者
大家注意一点。如下面的例子:
山那边是海 该用户已被删除
8#
发表于 2015-3-11 22:03:20 | 只看该作者
比如日志传送、比如集群。。。
只想知道 该用户已被删除
9#
发表于 2015-3-19 14:48:28 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-28 13:57:49 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-26 08:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表