Foxtable(狐表)用户栏目专家坐堂 → select 中的对别名列排序的问题


  共有7975人关注过本帖树形打印复制链接

主题:select 中的对别名列排序的问题

帅哥哟,离线,有人找我吗?
秋叶蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:86 积分:777 威望:0 精华:0 注册:2013/1/2 17:23:00
select 中的对别名列排序的问题  发帖心情 Post By:2013/3/15 23:00:00 [显示全部帖子]

想统计订单中成交数量最多的前三个客户,写出下面的语句
SELECT 客户,TOP 3 COUNT(*) AS 订单数 FROM {订单} GROUP BY 客户 ORDER BY 订单数
但是这样操作会报错,在网上搜了很久也没有答案,在这里请教各位了.

另外
SELECT 客户,COUNT(*) AS 订单数 FROM {订单} GROUP BY 客户 ORDER BY 订单数  这语句也报错说:至少一个参数没有指定值.
网上有篇贴子说 别名不能用于排序.那如何实现 按成交量排序呢?

图片点击可在新窗口打开查看此主题相关图片如下:2013-03-16_112348.png
图片点击可在新窗口打开查看



补充:在mysql ,sqlite中测试上面的语句是没问题的,但在foxtable 上面的语句就提示 至少一个参数没有被指定值  看来是access  不支持别名排序?!
[此贴子已经被作者于2013-3-16 11:24:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
秋叶蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:86 积分:777 威望:0 精华:0 注册:2013/1/2 17:23:00
  发帖心情 Post By:2013/3/16 11:09:00 [显示全部帖子]

楼上的是在excel的VBA 么?

 回到顶部
帅哥哟,离线,有人找我吗?
秋叶蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:86 积分:777 威望:0 精华:0 注册:2013/1/2 17:23:00
  发帖心情 Post By:2013/3/16 15:22:00 [显示全部帖子]

理解了,语句应该改成下面那样:
select 客户,count(*) as 订单数 from {订单} group by 客户 order by count(*) desc
也就是不能直接引用列的别名,不能直接用表中没有的列去排序,用函数去排序.
[此贴子已经被作者于2013-3-16 15:30:18编辑过]

 回到顶部