gpt4 book ai didi

MySQL 关联子查询 SUM() ORDER BY

转载 作者:行者123 更新时间:2023-11-29 07:06:03 28 4
gpt4 key购买 nike

有没有办法优化下面的查询:

SELECT
t1.id,
(SELECT SUM(col1) FROM table_name_two t2 WHERE t2.name LIKE CONCAT('%',t1.name)) AS col1_count
FROM
table_name_one t1
ORDER BY
col1_count DESC

使用 ORDER BY col1_count DESC 需要很长时间。

谢谢。

最佳答案

只需在连接的 on 子句中进行比较即可:

SELECT
t1.id,
SUM(t2.col1) AS col1_count
FROM table_name_one t1
LEFT JOIN table_name_two t2 on t2.name LIKE CONCAT('%', t1.name)
GROUP BY 1
ORDER BY 2 DESC

这种方式应该方式更快 - 它基本上是一个查询而不是“n”个查询,尽管它不会从使用 LIKE 运算符的索引中获得任何帮助以 %

开头

关于MySQL 关联子查询 SUM() ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7199543/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com