gpt4 book ai didi

MySQL:从 200,000 行中获取平均值或总和

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:48 26 4
gpt4 key购买 nike

我想从 mySQL 数据库中获取平均或至少 200,000 行的总和。这就是我查询数据库的方式,但数量太大,我无法查询,因为我无法承受服务器过载。

SELECT user_id, total_email FROM email_users
WHERE email_code = 1
LIMIT 200000

SELECT SUM(total_email), AVG(total_email) FROM email_users
WHERE user_id IN
(
01, 02,..., 200000-th user_id
)

我的问题是有一种方法可以以某种方式将两个查询合并为一个,这样我就可以得到 200,000 个 email_code = 1 的 email_users 的总和或平均值。

编辑:感谢所有回答的人。我没有意识到答案如此简单 - 嵌套选择语句。

最佳答案

您可以使用子查询来做到这一点:

SELECT SUM(total_email), AVG(total_email) 
from (SELECT eu.*
FROM email_users eu
WHERE eu.email_code = 1
LIMIT 200000
) eu

一些笔记。首先,使用不带order bylimit 会产生不确定的结果。您可以(理论上)两次运行此查询并获得不同的结果。其次,这假设在 email_users 中有一个名为 total_email 的字段。

关于MySQL:从 200,000 行中获取平均值或总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624368/

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