SqlServer2005使用top 100 PERCENT 无法排序的问题
来源:互联网 发布:想接软件外包 编辑:程序博客网 时间:2024/06/05 16:40
由于公司提供的分页控件需要我使用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 无法排序的问题
- SqlServer使用top 100 PERCENT 无法排序的问题
- SQL的top 100 percent用法
- SQLServer2005的Top功能
- SQLServer2005的Top功能
- SQLServer2005的Top功能
- SQLServer2005的Top功能
- 对视图有时为什么使用select top 100 percent * 而不使用 select * 呢?
- 对视图有时为什么使用select top 100 percent * 而不使用 select * 呢?
- TOP中排序的问题
- TOP n [PERCENT]用法
- sql order by错top(100)percent
- oracle的Top n时排序问题
- sqlserver2005的问题
- sqlserver2005游标的使用
- T-SQL查询: TOP N [PERCENT] WITH TIES ORDER BY 顺序排序实例
- android-support-percent的学习使用笔记
- JRE1.7使用SQLJDBC4连接SQLServer2005的注意问题
- iPhone开发内存的关系.注意几点.
- json工具性能比较
- unix 守护进程
- 很Nice
- IIS 元数据库失败 问题解决办法
- SqlServer2005使用top 100 PERCENT 无法排序的问题
- 111
- 4.5OS和4.5OS+的应用程序logo问题
- 核电数据库
- Carbide.c++ IDE的常用快捷键和技巧
- 用swap清除vector,deque内存
- MSChart 交叉表 如何选择图表类型 解决办法
- Jigsaw中的多线程
- ext图表小例子 柱状图