问题标签 [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.

0 投票
4 回答
539325 浏览

mysql - MySQL中的“每个派生表都必须有自己的别名”是什么错误?

我在 MySQL 上运行这个查询

它给出了这个错误:

每个派生表都必须有自己的别名。

是什么导致了这个错误?

0 投票
3 回答
9281 浏览

mysql - 具有依赖子查询的 MySQL 查询耗时太长

我需要一位 SQL 专家来帮助我加快查询速度。

我有 2 张桌子,数量和价格。数量记录 2 个时间戳之间的数量值,相隔 15 分钟。价格记录给定时间戳的价格,对于给定的价格类型,每 5 分钟有一条价格 5 记录。

我需要 2 计算出两个时间戳之间每个时间段的总价格,例如小时或天。这是通过每个时期的(数量乘以 15 分钟数量窗口中 3 个价格的平均值)的总和来计算的。

例如,假设我想查看 1 天每小时的总价格。结果集中每一行中的总价格值是该小时内四个 15 分钟时段中每个时段的总价格之和。每 15 分钟期间的总价格是通过将该期间的数量值乘以该数量期间的 3 个价格(每 5 分钟一个)的平均值来计算的。

这是我正在使用的查询和结果:

我需要查询运行得比这快得多,尽管这是可能的。这是 EXPLAIN EXTENDED 的结果...

我注意到依赖子查询没有使用键中的时间戳字段,并且查询正在扫描大量行。

任何人都可以帮我让它运行得更快吗?

以下是创建模式并用大量数据填充它所需的 SQL 语句(价值 2 个月)

0 投票
1 回答
274 浏览

mysql - 如何在 php 中编写“多命令”mysql 查询

请注意,这个问题不是关于 mysql 查询本身,而是关于如何从 php.ini 运行它。由于没有更好的术语,我将其称为多命令查询。我有一个在 mysql 命令行客户端和 phpmyadmin 中完美运行的查询,如下所示:

我想在 php 脚本中执行相同的操作,但对于我的一生来说,不能。我尝试使用双子座事务,但这给出了一个结果......命令行和 phpmyadmin 给了我更多的结果......如预期的那样。

我有经验,并且精通通常的 mysql_fetch_object mysql_fetch_array 位...但是如何运行此查询?

就像是

...不起作用。

我的表结构很简单:

0 投票
2 回答
2443 浏览

mysql - MySQL:在 WHERE 子句中带有 NOT IN 的从属子查询非常慢

我正在使用 open Id login 审核我的应用程序中的用户详细信息。如果用户第一次登录 OPEN ID,我们将其视为注册。我正在使用此详细信息生成审核登录报告。样本表数据。

在此表中,我想根据提供者排除已经SIGN_UP ed " SIGN_IN " ed 的用户计数。

显示创建表

我正在使用这个查询。

解释输出:

查询输出:

执行 200k 行需要 40 多分钟。

我的假设是它将检查每一行的依赖子查询输出的总数。

我对此查询的假设。

如果相关查询输出较大,则执行时间会很长。如何改进这个查询?

0 投票
3 回答
145 浏览

mysql - MySQL:使用嵌套子查询的非常慢的查询

询问:

解释结果:

对这个查询有什么建议吗?非常感谢您的回答!

0 投票
4 回答
321 浏览

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 个相关子查询的原始查询:

修改后的查询:

0 投票
1 回答
1005 浏览

mysql - 从子查询中引用父查询中的表

我想执行一个用户列表,并在一个字段中提取每个用户完成的联系人列表,按联系人的类型分组。像这样的东西:

我有这个查询几乎可以工作

但我明白了

我不能从嵌套查询中使用 u.id,如果你们知道任何解决方法,我将不胜感激。MySQL变量呢?如何将 u.id 的值获取到子子队列中的变量以使用 ic.user_id = @user_id?

重要提示:我必须在字段部分使用子查询。我可以通过在 JOIN 中创建一个临时表来使查询工作,其中所有预先计算的 users_id 与计数字符串相关(请参阅 Giulio 答案)。我知道,但是有太多的字段需要对整个用户表进行处理,然后再进行无索引的连接。这就是为什么我希望 MySQL 在查询执行的最后阶段只使用已经被 WHERE 和 LIMIT 过滤和限制的 user_id 来执行子查询。我希望我自己解释。

谢谢!

0 投票
1 回答
274 浏览

mysql - MySQL - 我可以避免这些相关/依赖的子查询吗?

我有一个我一直在优化的 MySQL 查询,目前它有 2 个相关/相关的子查询。

我想知道是否可以重写以避免这些?

快速概览:创建了一张幻灯片,并支持版本更改。然后发布幻灯片(和其他实体)。已发布的幻灯片和版本在 pp_published_slides 表中设置。并且整个发布对象保存在pp_publish中。

上面的 SQL 将加载一个幻灯片对象,并包含有关最新版本、发布时间等的额外数据。

这是一个 sqlfiddle http://sqlfiddle.com/#!2/902fb4/1

任何帮助将不胜感激,有点在我的 SQL 知识的限制......

0 投票
1 回答
41 浏览

mysql - 如何提高具有不依赖子查询的 MySQL 查询的性能?

我正在使用 MySQL 中的一个表,该表使用“邻接列表”方法定义树层次结构,这对我的目的来说应该没问题。

我需要使用(快速)查询计算所有孩子的某个值的最大值

有时我没有那么幸运,不得不与孩子的后代一起工作(它已定义,并且总是引用该树分支中的某个叶节点)。

第二个查询很慢。给定父母的孩子数量非常少,很少超过 10,从不超过 20。在我看来,它似乎不是相关的子查询,尽管 EXPLAIN 说子查询是依赖的。我正在 MySQL 5.1 中进行测试。nodes.id是主键,并且有一个 BTREE 索引nodes.parent。有没有办法可以提高这个查询的速度?

0 投票
1 回答
22 浏览

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”的数量。结果应如下所示:-

请帮助解决我的查询。