SqlServer2005使用top 100 PERCENT 无法排序的问题
由于公司提供的分页控件需要我使用top子句,而且有必要将查询到的记录全部取出,确发现不能排序,sql语句如下:
SELECT TOP 15 * FROM(
SELECT TOP (100) PERCENT * FROM (
SELECT
a.recID, a.eventLevel, a.srcIP, a.dstIP, a.eventTime, a.eventCount, a.srcPort, a.dstPort, b.popular, b.eventName, b.popularName, b.securityID, d.deviceIP, d.deviceName FROM NETIDS_EVENTLOG a, NETIDS_DEFINE_EVENTBASE b, SYSTEM_DEPLOY d WHERE a.eventTypeID=b.eventTypeID AND a.DEV_GUID=d.DEV_GUID
UNION ALL
SELECT
a.recID, a.eventLevel, a.srcIP, a.dstIP, a.eventTime, a.eventCount, a.srcPort, a.dstPort, b.popular, b.eventName, b.popularName, b.securityID, d.deviceIP, d.deviceName FROM NETIDS_EVENTLOG_HISTORY a, NETIDS_DEFINE_EVENTBASE b, SYSTEM_DEPLOY d WHERE a.eventTypeID=b.eventTypeID AND a.DEV_GUID=d.DEV_GUID
) AS _VWFT order by _VWFT.eventtime desc
) AS _VWFT1
困扰了很久,后得知SqlServer使用top 100 PERCENT 会使排序失效。
解决办法有二:
一、下载一个SqlServer2005的补丁包,不推荐开发人员使用(你很难在向用户推销产品的时候找到借口让他费事去整一遍数据库。。)至于是哪个版本的补丁,我也没找到,反正包也不多,有兴趣的可以试下,有结果了还望周知啊~
二、使用select top 99.999999 PERCENT,一般来说,你的数据库不回超过1亿条数据,使用99.999999 PERCENT不会使你遗漏数据。需要的话再添俩9
SqlServer2005使用top 100 PERCENT 无法排序的问题的更多相关文章
- SELECT TOP 100 PERCENT 不按后面的order by 排序
项目中,由于需要把3个状态的任务合并显示,并且按照任务由近及远的顺序排序,类似于下面的语句 order by taskid desc )m union all order by taskid desc ...
- SQL的top 100 percent用法
sql="select top 30 * from data where title='"&title1&"' order by id desc" ...
- SELECT TOP 100 PERCENT * 的含义
--返回符合条件的100%的记录,即所有符合条件的记录SELECT TOP 100 PERCENT * --返回符合条件的100条记录,即只返回符合条件的100条记录SELECT TOP 100 * ...
- GitHub Android Librarys Top 100 简介
GitHub Android Librarys Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索J ...
- 2016年排名Top 100的Java类库——在分析了47,251个依赖之后得出的结论(16年文章)
本文由HollisChuang 翻译自 The Top 100 Java Libraries in 2016 – After Analyzing 47,251 Dependencies . 原作者:H ...
- SQL语句中的TOP(expression) [PERCENT] [WITH TIES] 用法
TOP(expression) [PERCENT] [WITH TIES] expression : 指定返回行数的数值表达式.如果指定了PERCENT,则expression默认转换为FLOAT值, ...
- <Android开源库 ~ 1> GitHub Android Libraries Top 100 简介
转载自GitHub Android Libraries Top 100 简介 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据 GitH ...
- 2016 年排名 Top 100 的 Java 类库
我们分析了GitHub中47,251个依赖,从中找出了排名前一百的Java类库,让我们看看谁在前面,谁在后面. 我们在漫长的周末的消遣方式就是浏览GitHub并且搜索流行的Java类库.我们决定把其中 ...
- LeetCode面试常见100题( TOP 100 Liked Questions)
LeetCode面试常见100题( TOP 100 Liked Questions) 置顶 2018年07月16日 11:25:22 lanyu_01 阅读数 9704更多 分类专栏: 面试编程题真题 ...
随机推荐
- Python学习笔记_Mysql数据库、Excel
一.操作mysql数据库 import pymysql # 1.连上数据库:账号,密码,ip,端口号,数据库 # 2.建立游标(去数据库拿东西的工人) # 3.执行sql # 4.获取结果 # 5.关 ...
- Unity5.6打包问题
将unity切换到5.6版本后打Android包时,提示android sdk tools version低于compile version,于是更新了android-sdk(下载了Android-S ...
- Tomcat的一些问题
首先设置好TOMCAT环境变量(如何设置?) 1.用Servlet发现每次改动Servlet都要重启Tomcat才能生效!!!搞死爹了!! 可以选择shutdown命令或者直接叉掉汤姆猫窗口!!!然后 ...
- [Selenium] Android 中旋转屏幕,触摸,滚动
package com.learingselenium.android; import junit.framework.TestCase import org.openqa.selenium.Rota ...
- JQ的双向数据绑定
把渲染页面封装在function里面 在修改后直接调用,但是如果有alert();一定要注意function的摆放位置,正常应该是在alert前面,应为如果在后面会影响重新渲染的效果
- linux--memcache的安装和使用(转)
memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.据说官方所说,其用户包括twitter.digg.flickr等,都是些互联网大腕呀.目前用memca ...
- CodeForces 718C && HDU 3572 && Constellation
Point 1. 区间乘以一个数/矩阵的幂时,不要用指数相加的方法. 而要用直接维护mulv[x]表示区间要乘多少. 不然的话,空加一个logn 2. 要点在于,冲突的点连边,形成二分图,对于在同一个 ...
- mysql关于时间函数的应用
1.获取今天的数据 date_format(publishtime, '%Y-%m-%d')= date_format(now(), '%Y-%m-%d') 2.获取今天和明天的数据 server.b ...
- bzoj 2067: [Poi2004]SZN【贪心+二分+树形dp】
第一问就是Σ(deg[u]-1)/2+1 第二问是二分,判断的时候考虑第一问的贪心规则,对于奇度数的点,两两配对之后一条延伸到上面:对于欧度数的点,两两配对或者deg[u]-2的点配对,然后一条断在这 ...
- JAVA多线程(一) Thread & Runnable
githut代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service/ ...