gpt4 book ai didi

mysql - MySQL中自连接查询

转载 作者:行者123 更新时间:2023-11-29 08:04:35 27 4
gpt4 key购买 nike

我有一个查询可以得到正确的结果,但需要 5.5 秒才能获得输出。是否有其他方法可以为此编写查询 -

SELECT metricName, metricValue 
FROM Table sm
WHERE createdtime = (
SELECT MAX(createdtime)
FROM Table b
WHERE sm.metricName = b.metricName
AND b.sinkName='xx'
)
AND sm.sinkName='xx'

最佳答案

在您的代码中,必须对外部查询的每个结果行运行子选择,这应该是相当昂贵的。相反,您可以在单独的查询中选择过滤器数据并相应地连接两者:

SELECT `metricName`, `metricValue` FROM Table sm 
INNER JOIN (SELECT max(`createdtime`) AS `maxTime, `metricName` from Table b WHERE b.sinkName='xx' GROUP BY `metricName` ) filter
ON (sm.`createdtime` = filter.`maxTime`) AND ( sm.`metricName` = filter.`metricName`)
WHERE sm.sinkName='xx'

关于mysql - MySQL中自连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22984365/

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