我使用以下语句在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语句?
答案 0 :(得分:5)
SELECT TOP 100 *
FROM Mytable
ORDER BY Abs(x1-x0)*Abs(y1-y0) DESC