MySQL用SQL取三列中最大的数据值

1、有如下数据:

A B C
0 0 0
0 97.06 0
0 330.72 330.72
0 0 6
9.65 0 0
27.88 27.85 0
86.92 0 86.92
219.42 219.4 219.41

需要展示为如下形式:

A B C 结果列
0 0 0 0
0 97.06 0 97.06
0 330.72 330.72 330.72
0 0 6 6
9.65 0 0 9.65
27.88 27.85 0 27.88
86.92 0 86.92 86.92
219.42 219.4 219.41 219.42

解决办法:

sql 复制代码
一、创建表
CREATE TABLE t1 (
    A DECIMAL(10, 2),
    B DECIMAL(10, 2),
    C DECIMAL(10, 2)
);

二、插入数据
INSERT INTO t1 (A, B, C) VALUES
(0, 0, 0),
(0, 97.06, 0),
(0, 330.72, 330.72),
(0, 0, 6),
(9.65, 0, 0),
(27.88, 27.85, 0),
(86.92, 0, 86.92),
(219.42, 219.4, 219.41);

最终结果:

sql 复制代码
第一种解决办法:
SELECT
    A,
    B,
    C,
    GREATEST(A, B, C) AS 结果列
FROM
    t1;

第二种解决办法:
		
		SELECT
    A,
    B,
    C,
    CASE
        WHEN A >= B AND A >= C THEN A
        WHEN B >= A AND B >= C THEN B
        ELSE C
    END AS 结果列
FROM
    t1;
相关推荐
KG_LLM图谱增强大模型5 分钟前
SCHEMA-MINERpro:基于智能体AI的本体映射框架——在人机协作工作流中通过大模型发现科学新模式
数据库·人工智能
zsyf198714 分钟前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
程序员敲代码吗31 分钟前
提升Redis性能的关键:深入探讨主从复制
数据库·redis·github
程序员酥皮蛋31 分钟前
Redis 零基础入门本地实现数据增删
数据库·redis·缓存
gjc5921 小时前
实战排坑:Oracle ORA-03206 报错,表空间文件加不进去怎么办?
数据库·oracle
人道领域1 小时前
Maven配置加载:动态替换的艺术
java·数据库·后端
70asunflower1 小时前
软件开发全景指南:从概念构思到生产部署
数据库·oracle·教程
山峰哥1 小时前
SQL调优实战:从索引失效到性能飙升的破局之道
服务器·数据库·sql·性能优化·编辑器·深度优先
玩具猴_wjh1 小时前
JWT优化方案
java·服务器·数据库
你这个代码我看不懂1 小时前
Redis TTL
数据库·redis·缓存