gpt4 book ai didi

php - MySQL 一行数据中的最高/最低 5

转载 作者:行者123 更新时间:2023-11-29 09:14:57 28 4
gpt4 key购买 nike

我有以下查询:

SELECT AVG(q1) AS q1, AVG (q2) AS q2, AVG(q3) AS q3, AVG(q4) AS q4, AVG(q5) AS q5 FROM tresults_acme

q1 q2 q3 q4 q5
8.23 5.23 7.65 8.00 7.99

此查询返回单行数据,标题为 q1、q2、q3、q4、q5 - MySQL 中是否可以仅显示最高的两个(q1 和 q4)或最低的两个(q2 和 q3) - 如果不在 MySQL 中可以通过 PHP 完成吗?

提前致谢,

荷马。

最佳答案

您可以使用过程,但这是一种纯 SQL 方法:

    select greatest(q1,q2,q3,q4,q5) as highest_1,
least( greatest(q1,q2,q3,q4),
greatest(q1,q2,q3,q5),
greatest(q1,q2,q4,q5),
greatest(q1,q3,q4,q5),
greatest(q2,q3,q4,q5) ) as highest_2
from ( SELECT AVG(q1) AS q1,
AVG(q2) AS q2,
AVG(q3) AS q3,
AVG(q4) AS q4,
AVG(q5) AS q5
FROM tresults_acme ) t;

测试使用:

create view tresults_acme as select 1 as q1, 2 as q2, 3 as q3, 4 as q4, 5 as q5;

结果:

         highest_1      |     highest_2
--------------------+--------------------
5.0000000000000000 | 4.0000000000000000

关于php - MySQL 一行数据中的最高/最低 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4439854/

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