gpt4 book ai didi

按性能条件分组的 MySql 查询

转载 作者:行者123 更新时间:2023-12-01 00:49:43 27 4
gpt4 key购买 nike

我有一个非常简单的表,大约有 1 000 000 行,我想从中检索一些聚合统计信息。它不是分析请求,它是用户数据。我可以使用 3 个单独的查询检索数据,每个查询都带有特定的 where 子句。但这将是对我的数据库服务器的三个查询。而且我还可以使用 conditional ORDER BY 子句进行一次查询。但我之前从未在生产中使用过此类查询。我应该预料到它会有一些麻烦吗?

CREATE TABLE t1 (id INTEGER, fk_1 INTEGER, field_1 INTEGER, field_2 DATETIME);
... INSERT INTO t1 ... # 1 000 000 times

SELECT COUNT(*) FROM t1
WHERE fk_1 = <some_value>
GROUP BY CASE WHEN (field_1 = 1) THEN 1 ELSE (CASE WHEN field_2 > NOW() THEN 0 ELSE -1 END) END;

最佳答案

尝试像这样使用 ID 计数:

SELECT COUNT(ID) FROM t1 
WHERE fk_1 = <some_value>
GROUP BY CASE WHEN (field_1 = 1) THEN 1 ELSE (CASE WHEN field_2 > NOW() THEN 0 ELSE -1 END) END;

关于按性能条件分组的 MySql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17419651/

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