高手进

bigcatzhou 2007-04-25 11:25:47

SELECT type, price, advance
FROM titles
ORDER BY type
COMPUTE SUM(price) , SUM(advance) BY type

怎样让求和后的的统计字段重命名,比方说上面的sql语句执行后会出现2个sum,这不知道哪个是pirce统计后的,那个是advance统计后的结果,我想把结果重命名
...全文
342 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenny_appleso 2007-04-26
  • 打赏
  • 举报
回复
COMPUTE 用法示例
下列 SELECT 语句使用简单 COMPUTE 子句生成 titles 表中 price 及 advance 的求和总计:

USE pubs
SELECT type, price, advance
FROM titles
ORDER BY type
COMPUTE SUM(price), SUM(advance)

下列查询在 COMPUTE 子句中加入可选的 BY 关键字,以生成每个组的小计:

USE pubs
SELECT type, price, advance
FROM titles
ORDER BY type
COMPUTE SUM(price), SUM(advance) BY type

此 SELECT 语句的结果用 12 个结果集返回,六个组中的每个组都有两个结果集。每个组的第一个结果集是一个行集,其中包含选择列表中所请求的信息。每个组的第二个结果集包含 COMPUTE 子句中两个 SUM 函数的小计。
ReViSion 2007-04-26
  • 打赏
  • 举报
回复
哈哈,看看热闹
rookie_one 2007-04-26
  • 打赏
  • 举报
回复
确实已经很清楚了

不知道lz喜欢看哪种了,建议去联机帮助里面看看COMPUTE和CUBE相关的介绍。
rookie_one 2007-04-26
  • 打赏
  • 举报
回复
lz正解~

COMPUTE得出的结果是按照type一组一组的显示出来的

Yang_ 2007-04-26
  • 打赏
  • 举报
回复
你换
SELECT type, price, advance
FROM titles
ORDER BY type
COMPUTE SUM(advance),SUM(price) BY type

看看结果的变化

Yang_ 2007-04-26
  • 打赏
  • 举报
回复
COMPUTE SUM(price) , SUM(advance) BY type

显示的两个sum的位置(包括左右位置和上下位置)都能区分出是哪个项目的,个人认为实在是比较清楚的了,貌似不必修改的了
Yang_ 2007-04-26
  • 打赏
  • 举报
回复
有点晕

select * from (
SELECT type, price, advance
FROM titles
union all
SELECT type,sum(price),sum(advance)
FROM titles
group by type
) as t
ORDER BY type
Yang_ 2007-04-26
  • 打赏
  • 举报
回复
select * from (
SELECT type, price, advance
FROM titles
union all
SELECT type,sum(price),sum(advance)
FROM titles
) as t
ORDER BY type
feixiangVB 2007-04-26
  • 打赏
  • 举报
回复
就是別名吧
zzxiaoma 2007-04-26
  • 打赏
  • 举报
回复
用as不行吗
bigcatzhou 2007-04-26
  • 打赏
  • 举报
回复
出题人的要求就是在使用compute 时候能用别名显示出来
bigcatzhou 2007-04-26
  • 打赏
  • 举报
回复
我也知道很清楚了,这是一次面试题,郁闷死了,用别名之类的好像都不行,不知道朋友们有没有办法用别名显示出来

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧