雇员表emp(empid,empname)和客户表cust(custid,custname,empid)是一对多的关系,如果想按照雇员所拥有的客户数量对雇员信息排序,这个sql语句应该怎么写?
解决方案 »
- 数据库子查询问题。请各位大牛赐教
- 用户权限问题
- 关于日文oracle中存放中文的问题??
- imp-00085错误如何解决?
- 数据库的一个简单的问题中的索引
- 获取当天是星期几的问题?
- oracle在redhat下进行silent安装,那么rsp文件只能手动编辑么?能不能通过一种方式生成啊?
- 谁能解决,给分100,迷惑不解
- 哪里有oracle8.1.7for windows下载?
- 如何将一个有上亿条数据的表,以文本的形式将数据导出来
- 请教 获取当前用户可以操作的数据库名称列表?
- oracle 10g 删除表空间后重新建一个相同名字的表空间提示:改表空间存在一个或多个数据文件。是否重复使用存在的数据文件?
select empname,count(*)
from emp,cust
where emp.empid=cust.empid
order by 2 --按照查询出来的第二列排序
报错:
select empname,count(*) from emp,cust where emp.empid=cust.empid order by 2
*
第 1 行出现错误:
ORA-00937: 不是单组分组函数
SQL> select e.deptno deptno,count(e.ename) cnt
2 from emp e,dept d
3 where e.deptno=d.deptno(+)
4 group by e.deptno;DEPTNO CNT
------ ----------
10 3
20 5
30 6
SQL> select e.deptno deptno,count(e.ename) cnt
2 from emp e,dept d
3 where e.deptno=d.deptno(+)
4 group by e.deptno
5 order by 2;DEPTNO CNT
------ ----------
10 3
20 5
30 6
加group by select empname,count(*)
from emp,cust
where emp.empid=cust.empid
group by emp.empid,emp.empname ----名字有可能重复,故按id,姓名分组
order by 2 --按照查询出来的第二列排序