gpt4 book ai didi

mysql - 我们可以进一步简化这个 MySQL 查询吗?

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

我在 MySQL 中有一个表,其中包含以下字段。日期、block_no、entity、reading

现在我正在触发此 SQL 并获取结果。

SELECT DATE,block_no, 
SUM(IF(entity='KS',READING,0)) AS KS,
SUM(IF(entity='KB',READING,0)) AS KB,
SUM(IF(entity='V1',READING,0)) AS V1,
(SUM(IF(entity='KS',READING,0)) + SUM(IF(entity='KB',READING,0)))/SUM(IF(entity='V1',READING,0)) AS "New Rate"
FROM dbf_sdl
GROUP BY DATE,block_no;

这是一个包含三个实体和计算字段的简单查询,但我必须编写涉及最多 15 个实体和一些使用它们的计算字段的查询。有没有办法进一步简化这些查询?字段别名不允许用于计算,就像我不能使用

(KS+KB)/V1 AS "New Rate"

请建议。谢谢

最佳答案

列别名不可用于同一 SELECT 语句,但如果您不想重写计算,则可以使用子查询:

select DATE,block_no, KS, KB, V1,
(KS+KB)/V1 AS "New Rate"
from
(
SELECT DATE,block_no,
SUM(IF(entity='KS',READING,0)) AS KS,
SUM(IF(entity='KB',READING,0)) AS KB,
SUM(IF(entity='V1',READING,0)) AS V1
FROM dbf_sdl
GROUP BY DATE,block_no
) d

关于mysql - 我们可以进一步简化这个 MySQL 查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17175113/

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