sql语言order by后面跟一个计算出的结果

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:36:31
显示所有营业员的基本情况,同时显示营业员的受理业务总次数,根据受理业务总次数从达到小排序
Select 营业员.*, count(存取业务.营业员代码)
From 营业员, 存取业务
Where 营业员.营业员代码=存取业务.营业员代码
Group by 营业员.姓名
Order by count(存取业务.营业员代码) desc;
上面是我编的,可执行时老是出错,貌似是order by后面不对,应该怎么写呢?

如果是在SQLSever中用那条语句查询的话,把WHERE后面的那个等号要改成 *= (即左连接)试试。
比较困惑的一点是,COUNT()用来统计元组的个数,你Order by后面加个COUNT()统计出来的数值,那是什么意思??Order by用对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)进行排列的啊。注意是对属性列,而不是对一个具体的数值进行排序的啊。。。

套一下
select * from(
Select 营业员.*, count(存取业务.营业员代码) as aa
From 营业员, 存取业务
Where 营业员.营业员代码=存取业务.营业员代码
Group by 营业员.姓名)
Order by aa desc

Select 营业员.*,
把*改成姓名就合适了,你改了试试。