当前位置: 首页 > 面试题库 >

我可以在SELECT查询中重用计算字段吗?

水昊阳
2023-03-14
问题内容

有没有一种方法可以重用mysql语句中的计算字段。我收到以下错误信息:“ unknown column total_sale”:

SELECT 
    s.f1 + s.f2 as total_sale, 
    s.f1 / total_sale as f1_percent
FROM sales s

还是我必须重复计算,如果我添加了所有需要的计算,这将导致很长的SQL语句。

SELECT 
    s.f1 + s.f2 as total_sale, 
    s.f1 / (s.f1 + s.f2) as f1_percent
FROM sales s

当然,我可以在我的php程序中进行所有计算。


问题答案:

是的,您可以重用变量。这是您的操作方式:

SELECT 
    @total_sale := s.f1 + s.f2 as total_sale, 
    s.f1 / @total_sale as f1_percent
FROM sales s

在此处了解更多信息:http :
//dev.mysql.com/doc/refman/5.0/en/user-
variables.html

[注意:此行为是不确定的。根据MySQL文档:]

通常,永远不要为用户变量分配值,并且不要在同一条语句中读取该值。您可能会得到预期的结果,但这不能保证。



 类似资料:
  • 问题内容: 在我的数据集中,一个文档包含20多个带有嵌套对象的字段。它们大多数是长文本字段。这些字段对于全文搜索很重要,但是我们只需要在输出中显示标题,简短描述和ID。 是否可以在ElasticSearch中为全文查询指定输出字段?(如MongoDB中的投影) 问题答案: 我认为您正在寻找搜索请求的属性: 允许有选择地为搜索命中表示的每个文档加载特定字段。默认情况下加载内部 字段。 这些字段将自动

  • 本文向大家介绍我们可以在MySQL查询中使用SELECT NULL语句吗?,包括了我们可以在MySQL查询中使用SELECT NULL语句吗?的使用技巧和注意事项,需要的朋友参考一下 是的,我们可以在MySQL查询中使用SELECT NULL语句。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是实现SELECT NULL

  • 我有一张有股票价格的桌子。我想查询(与一个特定的时间框架),以分析和获得价格作为一个基础100从第一个值的特定时间框架。目前我有: 这让我返回每一行: 日期 本期第一价格 当日价格 该correclty向我显示了日期、每个日期的价格和该期间(基准)的第一个价格。我如何获得一个字段,该字段是期间的每个价格/第一个价格除以的结果? 我试过了 但这似乎行不通。 谢谢!

  • 问题内容: 我有一个执行一些排名的SQL查询,如下所示: 我想在末尾的WHERE条件下使用该排名。 现在,我将此查询嵌套在另一个查询中,并在该查询上进行排名过滤,但是没有更简单或更快速的方法来过滤SELECT语句中的此类值吗? 问题答案: 使用CTE(公用表表达式)-一种“内联”视图,仅用于下一条语句:

  • 问题内容: 假设我具有以下表格结构: 是否可以运行单个查询以结合以下两个条件: 此人正在关注多少用户 从t1 WHERE userID_follower =“。$ myID”中选择COUNT(id)。。” 有多少用户关注此人 从t1 WHERE userID_following =“。$ myID”中选择COUNT(id)。 谢谢。 问题答案: 在MySql中,您可以在条件上使用该函数,因为错误条

  • 是否可以使用iText最新版本在我的PDF中查找特定字段的边框颜色?我可以得到AcroField。项目,但我看不到从那里获取bordercolor的选项。