数据库查询问题,聚合函数能一起使用么?

帐户(编号,姓名,余额,建立日期,储蓄所编号)储蓄所(编号,名称,地址,人数,所属城市)借贷(帐户,借贷类型,金额,日期)根据上面基本表的信息完成下列查询。列出储蓄所最少... 帐户(编号,姓名,余额,建立日期,储蓄所编号)
储蓄所(编号,名称,地址,人数,所属城市)
借贷(帐户,借贷类型,金额,日期)
根据上面基本表的信息完成下列查询。

列出储蓄所最少的城市所建的帐户信息

select * from 账户
where 储蓄所编号 in (select 编号 from 储蓄所 group by 所属城市 having count(编号)=min(count(编号)))
这样写会有问题,那样应该怎么写?
展开
 我来答
donghu1991
2011-06-21 · 超过11用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:36.8万
展开全部
聚合函数返回的是唯一结果,而不是一个结果集,所以 min(count(编号)) 是错误的。可以通过在查询中生成临时表的方法,代码把 回答者: kutpbpb 的稍微改下就可以了。注意,group by 语句后统计记录个数直接用count(*)就行,count(字段名)是没有意义的。建议查看联机丛书中关于group by 和聚合函数的使用。
迈杰
2024-11-30 广告
RNA-seq数据分析是转录组研究的核心,包括数据预处理、序列比对、定量分析、差异表达分析、功能注释和可视化等步骤。数据预处理主要是质量控制和去除低质量序列。序列比对使用HISAT2、STAR等工具将reads比对到参考基因组。定量分析评估... 点击进入详情页
本回答由迈杰提供
wyzjuny
2011-06-19
知道答主
回答量:71
采纳率:0%
帮助的人:27.5万
展开全部
select * from 账户
where 账户.储蓄所编号=储蓄所.编号 储蓄所编号 in (select 编号 from 储蓄所 group by 所属城市 having count(编号)=min(count(编号)))
追问
您写的真的不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kutpbpb
2011-06-19 · TA获得超过528个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:386万
展开全部
//希望kutpbpb的回答能对你有所帮助!

//首先说明一下嵌套聚合函数是不支持的!

//下面的SQL查询在SQL Server 2005中可以正确返回运行结果;
//customer代表账户表,Bank代表储蓄所表;
//Cbno代表customer表中的储蓄所编号,Bno代表储蓄所编号;
//City代表储蓄所所属城市,其中bk为返回结果的临时表。

正确代码:
select *
from customer as C,Bank as B
where C.Cbno=B.Bno and B.City in
( select City
from Bank
group by City
having count(Bno)=(select min(Nm)
from ( select City,count(Bno)
from Bank
group by City
) as bk(Cy,Nm)
)
);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式