相关子查询要同group by以及having一起使用要怎么写啊,我下面的sql语句有什么问题?

select count(*)
from regions r
join countries c on r.region_id=c.region_id
join locations l on c.country_id=l.country_id
join departments d on d.location_id=l.location_id
join employees e on e.department_id=d.department_id
group by r.region_id,d.department_id
having count(*)=
(select max(t.x)
from
(select count(*) as x
from countries c
join locations l on c.country_id=l.country_id
join departments d on d.location_id=l.location_id
join employees e on e.department_id=d.department_id
where c.region_id=r.region_id
group by d.department_id
)t)
统计各地区雇员人数最多的部门,如出现同地区两部门人数相同,则并列显示并按部门号升序排列。[地区名称,部门编号,部门名称,人数]

第1个回答  2011-11-05
给出表的字段和关系,以及你要的结果

sql语句查询数据问题!
GROUP BY 子句把一个表按某一指定列(或一些列)上的值相等的原则分组,然后再对每组数据进行规定的操作。 GROUP BY 子句总是跟在 WHERE 子句后面,当 WHERE 子句缺省时,它跟在 FROM 子句后面。 HAVING 子句常用于在计算出聚集之后对行的查询进行控制。) SELECT CNO, AVG(GRADE), STUDENTS = COUNT(*) F...

SQL相关子查询和嵌套子查询的区别
1.一个子查询必须放在圆括号中。2.将子查询放在比较条件的右边以增加可读性。子查询不包含 ORDER BY 子句。对一个 SELECT 语句只能用一个 ORDER BY 子句,并且如果指定了它就必须放在主 SELECT 语句的最后。ORDER BY 子句可以使用,并且在进行 Top-N 分析时是必须的。3.在子查询中可以使用两种比较...

sql中的group by语句一次最多只能输出两列吗
1.在利用group by子句形成的分组中,在分组内部能够保证只会存在一个可用值的属性只能是用于分组的属性,即group by子句中包含的属性。2.在Select子句中出现的属性应保证每一行都有唯一确定的分量值。3.对于使用group by子句的Select语句而言,每个分组对应于结果的一行。所以,楼主应该能够想到为什么规定select 选择的某...

怎样在VF里使用SQL语言啊、就是不知道怎样把他们结合在一起、
TOP 子句必须与 ORDER BY 子句同时使用。ORDER BY 子句指定查询结果中包含的列上由Top字句决定的行数, TOP 子句根据此排序选定最开始的 nExpr个或 nExpr% 的记录。您可以指定选取 1 到 32767 个记录。使用 ORDER BY 子句指定的字段进行排序,会产生并列的情况,比如,可能有多个记录,它们在选定的字段上相同;所以...

...但是实际表中数据又只有一条,是什么问题?该怎么改?
如果select 出来的项全相同,你可以distinct 追问 : 对,就是像你说的一条数据跟别的表都能关联上,但是该怎么解决呢? distinct我加在select后面,ID前面又报错,该怎么解决?追答 : distinct不能用就按下面的,select 后面多少项 group by 后面就写多少as 前面的 select a as A, b as B, c ...

求SQL查询语句
SQL查询语句精华2007年11月21日 星期三 17:35一、 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,emailFROM testtableWHERE name='张三'(一...

为什么说LINQ要胜过SQL
GROUP BY PurchaseID HAVING SUM (SaleAmount) > 1000)ORDER BY(SELECT SUM (SaleAmount) FROM PurchaseItem pi WHERE p.ID = pi.PurchaseID) DESC 有意思的是可以将上述 SQL 查询转换回到 LINQ,所生成的查询每一块都会有傻瓜式重复。论坛里常会贴出这样的查询(通常是非工作的版本)——这是用 SQL 进行...

select语句如何找重复的信息
HAVING 应该同 GROUP BY一起使用。它能包含数量不限的筛选条件,筛选条件用 AND 或 OR 连接,还可以使用 NOT 来对逻辑表达式求反。可以在 HAVING 子句中使用本地别名和字段函数。 关于你可以使用的字段函数的详细信息, 参见备注节。FilterCondition 不能包含子查询。可以使用带 HAVING 子句的 Group By。使用 HAVING...

SQL和MySQL有什么区别?
SQL数据库完全手册_1 SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均...

SQL server 2005 的简单语句
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。注:使用运算词的几个查询结果行必须是一致的。12、说明:使用外连接 A、left outer join:左外连接(左连接):结果集几包括连接表的...

相似回答
大家正在搜