首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL在select查询中使用生成的列

MySQL在select查询中使用生成的列
EN

Stack Overflow用户
提问于 2011-12-30 23:55:42
回答 5查看 24.8K关注 0票数 18

我有一个MySQL查询,它运行一个简短的操作(在select语句中对计数求和),并且我想使用结果进行数学操作,但是我得到了一个错误。

表:

代码语言:javascript
运行
复制
id  |   group   |   count   |
-----------------------------
1       1           3
2       1           2

查询:

代码语言:javascript
运行
复制
select id, count,
  (select sum(count) from table group by group) as total,
  count/total as percent 
from table

错误是因为表中没有真正的"total“列。我怎样才能使查询起作用?

EN

Stack Overflow用户

回答已采纳

发布于 2011-12-30 23:59:34

您可以将total另存为variable,然后在除法计算中使用它。

代码语言:javascript
运行
复制
SELECT 
  `id`, `count`, 
   @total:=(SELECT sum(`count`) FROM `table` GROUP BY `group`) AS `total`, 
  `count`/@total AS `percent` 
FROM `table`

注意:GROUP是MySQL中的reserved word。您应该用反引号(`)将它(以及所有其他字段/表名)括起来。

票数 31
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8681299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档