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;
相关推荐
u01091476018 小时前
Go语言怎么做分布式缓存_Go语言分布式缓存教程【经典】
jvm·数据库·python
Bert.Cai18 小时前
MySQL简介
数据库·mysql
2301_8176722618 小时前
mysql如何通过调整Undo Log优化并发性能_优化innodb_max_undo_log_size
jvm·数据库·python
2301_7775993718 小时前
mysql如何配置插件以提升查询性能_安装启用memcached插件
jvm·数据库·python
devilnumber18 小时前
Redis 使用过程中可能遇到的常见问题或 “坑”
数据库·redis·缓存
2301_7735536219 小时前
Tailwind CSS如何实现固定定位布局_使用fixed与z-index控制CSS层级
jvm·数据库·python
摇滚侠19 小时前
Redis 和 MySQL 数据同步方案,ElasticSearch 和 MySQL 数据同步方案
java·redis·mysql
2301_8148098619 小时前
Bootstrap 5中浮动标签(Floating Labels)怎么用?
jvm·数据库·python
解救女汉子19 小时前
如何处理SQL存储过程大数据导入_利用数据泵或外部表
jvm·数据库·python
二月十六19 小时前
SQL Server 2022 新特性:APPROX_PERCENTILE_CONT 与 APPROX_PERCENTILE_DISC 近似百分位数详解
数据库·sqlserver