问题标签 [mysql-dependent-subquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL中的“每个派生表都必须有自己的别名”是什么错误?
我在 MySQL 上运行这个查询
它给出了这个错误:
每个派生表都必须有自己的别名。
是什么导致了这个错误?
mysql - 具有依赖子查询的 MySQL 查询耗时太长
我需要一位 SQL 专家来帮助我加快查询速度。
我有 2 张桌子,数量和价格。数量记录 2 个时间戳之间的数量值,相隔 15 分钟。价格记录给定时间戳的价格,对于给定的价格类型,每 5 分钟有一条价格 5 记录。
我需要 2 计算出两个时间戳之间每个时间段的总价格,例如小时或天。这是通过每个时期的(数量乘以 15 分钟数量窗口中 3 个价格的平均值)的总和来计算的。
例如,假设我想查看 1 天每小时的总价格。结果集中每一行中的总价格值是该小时内四个 15 分钟时段中每个时段的总价格之和。每 15 分钟期间的总价格是通过将该期间的数量值乘以该数量期间的 3 个价格(每 5 分钟一个)的平均值来计算的。
这是我正在使用的查询和结果:
我需要查询运行得比这快得多,尽管这是可能的。这是 EXPLAIN EXTENDED 的结果...
我注意到依赖子查询没有使用键中的时间戳字段,并且查询正在扫描大量行。
任何人都可以帮我让它运行得更快吗?
以下是创建模式并用大量数据填充它所需的 SQL 语句(价值 2 个月)
mysql - 如何在 php 中编写“多命令”mysql 查询
请注意,这个问题不是关于 mysql 查询本身,而是关于如何从 php.ini 运行它。由于没有更好的术语,我将其称为多命令查询。我有一个在 mysql 命令行客户端和 phpmyadmin 中完美运行的查询,如下所示:
我想在 php 脚本中执行相同的操作,但对于我的一生来说,不能。我尝试使用双子座事务,但这给出了一个结果......命令行和 phpmyadmin 给了我更多的结果......如预期的那样。
我有经验,并且精通通常的 mysql_fetch_object mysql_fetch_array 位...但是如何运行此查询?
就像是
...不起作用。
我的表结构很简单:
mysql - MySQL:在 WHERE 子句中带有 NOT IN 的从属子查询非常慢
我正在使用 open Id login 审核我的应用程序中的用户详细信息。如果用户第一次登录 OPEN ID,我们将其视为注册。我正在使用此详细信息生成审核登录报告。样本表数据。
在此表中,我想根据提供者排除已经SIGN_UP ed " SIGN_IN " ed 的用户计数。
显示创建表
我正在使用这个查询。
解释输出:
查询输出:
执行 200k 行需要 40 多分钟。
我的假设是它将检查每一行的依赖子查询输出的总数。
我对此查询的假设。
如果相关查询输出较大,则执行时间会很长。如何改进这个查询?
mysql - MySQL:使用嵌套子查询的非常慢的查询
询问:
解释结果:
对这个查询有什么建议吗?非常感谢您的回答!
mysql - 使用依赖子查询优化 MySQL 查询
我需要找到一种方法来消除依赖子查询。
我有一个可以有多种语言的文章表。简化表结构如下:
id、标题、语言、translation_set_id
当文章没有翻译时,translation_set_id 为 0,或者设置为基本翻译的 id。所以B是英文原文文章,B_ru是文章的俄文翻译。
我需要一个允许我返回所有俄语文章的查询,或者如果它们不存在原始语言文章。所以它会回来。
到目前为止,我有这个:
但这会为每一行执行子查询,创建一个依赖查询。有没有办法消除依赖查询?
更新: Neels 的解决方案似乎有效,谢谢!
但我想知道是否有一种方法可以将解决方案推广到多种语言后备?首先尝试获取法语,如果不存在,尝试俄语,如果不存在,显示基本翻译(英语或任何其他,取决于原始创建语言)?
UPDATE2: 我已经使用 Neel 的解决方案和 DRapp 的解决方案构建了更新问题所需的查询。它可以在这里找到http://www.sqlfiddle.com/#!2/28ca8/18但为了完整起见,我也会在这里跳过查询。
修订数据:
具有 2 个相关子查询的原始查询:
修改后的查询:
mysql - 从子查询中引用父查询中的表
我想执行一个用户列表,并在一个字段中提取每个用户完成的联系人列表,按联系人的类型分组。像这样的东西:
我有这个查询几乎可以工作
但我明白了
我不能从嵌套查询中使用 u.id,如果你们知道任何解决方法,我将不胜感激。MySQL变量呢?如何将 u.id 的值获取到子子队列中的变量以使用 ic.user_id = @user_id?
重要提示:我必须在字段部分使用子查询。我可以通过在 JOIN 中创建一个临时表来使查询工作,其中所有预先计算的 users_id 与计数字符串相关(请参阅 Giulio 答案)。我知道,但是有太多的字段需要对整个用户表进行处理,然后再进行无索引的连接。这就是为什么我希望 MySQL 在查询执行的最后阶段只使用已经被 WHERE 和 LIMIT 过滤和限制的 user_id 来执行子查询。我希望我自己解释。
谢谢!
mysql - MySQL - 我可以避免这些相关/依赖的子查询吗?
我有一个我一直在优化的 MySQL 查询,目前它有 2 个相关/相关的子查询。
我想知道是否可以重写以避免这些?
快速概览:创建了一张幻灯片,并支持版本更改。然后发布幻灯片(和其他实体)。已发布的幻灯片和版本在 pp_published_slides 表中设置。并且整个发布对象保存在pp_publish中。
上面的 SQL 将加载一个幻灯片对象,并包含有关最新版本、发布时间等的额外数据。
这是一个 sqlfiddle http://sqlfiddle.com/#!2/902fb4/1
任何帮助将不胜感激,有点在我的 SQL 知识的限制......
mysql - 如何提高具有不依赖子查询的 MySQL 查询的性能?
我正在使用 MySQL 中的一个表,该表使用“邻接列表”方法定义树层次结构,这对我的目的来说应该没问题。
我需要使用(快速)查询计算所有孩子的某个值的最大值
有时我没有那么幸运,不得不与孩子的后代一起工作(它已定义,并且总是引用该树分支中的某个叶节点)。
第二个查询很慢。给定父母的孩子数量非常少,很少超过 10,从不超过 20。在我看来,它似乎不是相关的子查询,尽管 EXPLAIN 说子查询是依赖的。我正在 MySQL 5.1 中进行测试。nodes.id
是主键,并且有一个 BTREE 索引nodes.parent
。有没有办法可以提高这个查询的速度?
mysql - 想要结果作为表应该为一项活动返回所有卡片类型,即使他没有为该活动做过任何特定的车类型
我有表作为employee_details。在employee_details 中有列为emp_code、activity_id、card_id、quantity。表格看起来像: -
另一个表是:活动表。在该表中,我将列作为活动 ID,活动表看起来像
另一个表是:card_type table.in 那个表我有作为 card_id 的列,cardtype.table 看起来像
现在我想要结果,因为当我获取 emp_code '001' 的结果时,它会显示该员工的活动 'Lamination' 和 cardtype 'Barcoding' 以及 cardtype 'Copper Patch',即使他没有做过这个 cardtype关于“层压”活动。它还将显示“Copper Patch”卡片类型“0”的数量。结果应如下所示:-
请帮助解决我的查询。