日期:2014-05-18  浏览次数:20662 次

=====非常奇怪的sql select语句问题====
两条SELECT语句:
1、SELECT   TOP   15   *   FROM   TableName   WHERE   (A=2)   ORDER   BY   B   DESC
2、SELECT   TOP   15   ID   FROM   TableName   WHERE   (A=2)   ORDER   BY   B   DESC

两条语句在sql   server   2000查询分析器中执行的结果不一样:第一条语句选出来的15个ID和第二条语句选出来的15个ID不一样。

我是想选出排序后的top   15条记录.

为什么?忘高手给与解答   谢谢!

------解决方案--------------------
增加对ID列的排序,结果应该会变正常

1、SELECT TOP 15 * FROM TableName WHERE (A=2) ORDER BY B DESC,ID

2、SELECT TOP 15 ID FROM TableName WHERE (A=2) ORDER BY B DESC,ID
------解决方案--------------------
如果B+ID有重复?能得到正确结果吗?