楼主 whsfhwm |
Q:EXCEL-SQL函数first、last与order by能否配合使用? A:通过测试以下3条语句的执行效果,可以发现,第1条语句的执行结果是按照默认排序规则对省份进行顺序排列 第2条语句的执行结果是根据数量小计列进行降序排列,也就是order by作用的结果。 第3条语句的执行结果是第一条语句执行结果的第一行记录的数量值,也就是说order by未起作用。 A:B列的SQL查询结果表是在EXCEL2003下测试的,具有同样规律。所以本人断言order by子句在EXCEL-SQL中(OLE DB环境下)遇到first和last函数将失 效。 第1句:
第2句:
第3句:
说明无论是EXCEL2003还是EXCEL2010,first和order by无法配合, 后者在前者面前自动失效了。 ![]() ![]() |
2楼 海洋之星 |
order by只能和to n/to n percent使用啊 |
3楼 水星钓鱼 |
可以用TOP和ORDER结合来弥补这个缺陷。 |
4楼 xyh9999 |
向大家学习! |
5楼 xyh9999 |
这个问题其实很容易解决的,如下: 一、first时,形式如下:SELECT first(字段名) AS 表达式1 FROM (SELECT top 100 Percent * FROM sheet1 ORDER BY 字段名 DESC) 二、last时,形式如下:SELECT last(字段名) AS 表达式1 FROM (SELECT top 100 Percent * FROM sheet1 ORDER BY 字段名 DESC) |