gpt4 book ai didi

MySQL 函数,必须带回一行

转载 作者:行者123 更新时间:2023-11-29 00:49:02 25 4
gpt4 key购买 nike

我有这个简单的 MySQL 语句:

 SELECT 
((AVG(q1) + AVG(q8) + AVG(q15)) / 3 ) AS Res
FROM tresults
WHERE id = '1' AND date = 'MARCH2010' AND q25 = '1'
GROUP BY q25

现在,如果没有日期为 MARCH2010 的行,那么查询将返回零结果(这是正确的)但我希望它返回一行 - 即使结果是

最佳答案

您可以只选择一行作为常量,然后将其左连接到您的结果集中:

select l.*, r.* 
from (select "your constant" as constant) as l
left join (
SELECT
((AVG(q1) + AVG(q8) + AVG(q15)) / 3 ) AS Res
FROM tresults
WHERE id = '1' AND date = 'MARCH2010' AND q25 = '1'
GROUP BY q25
) as r on 1

这是如何工作的:

  • select "your constant"as constant 总是返回一行
  • left join 总是返回 left 表中的所有行至少一次
  • 如果right表没有行,则整个left表用一堆空列扩展,结果只有一行
  • 如果右边的表有 n 行,则结果有 n 行,每行都有一个额外的“您的常量”列

关于MySQL 函数,必须带回一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9279308/

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