查询查询结果,只返回TOP 100行

时间:2014-06-25 11:51:45

标签: sql sql-server delphi

我使用以下语句在MSSQL Server上启动查询

aquery.sql.text := ' select * from Mytable where <XXXXXXXXXXXXXXXXXXX>';
aquery.open; 
repeat 
   //........
until aquery.EOF

MyTable有4个额外的col#s:x1,x2,y1,y2; 我想从上面的SQL语句中获取前100行,但它们应该是具有最大区域的行,这意味着(area = abs(x1-x0)* abs(y1-y0);

获得最大区域的100条记录的最佳解决方案是什么,但是受限于给定的基本SQL语句?

1 个答案:

答案 0 :(得分:5)

SELECT TOP 100 *
FROM Mytable 
ORDER BY Abs(x1-x0)*Abs(y1-y0) DESC