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;
相关推荐
Predestination王瀞潞9 分钟前
映射文件中的四大核心 CRUD 操作标签(对应数据库的增、删、改、查操作)
数据库·oracle
IvorySQL12 分钟前
PostgreSQL 技术日报 (3 月 12 日)|为什么加索引反而变慢?这招让查询快 50 倍
数据库·postgresql·开源
y = xⁿ13 分钟前
【从零开始学习Redis|第五篇】Redis 常见数据类型和应用场景
数据库·redis·学习·缓存
憧憬成为web高手23 分钟前
sql-lab 19
sql
kuntli34 分钟前
索引失效的五大关键场景
mysql
DolphinDB智臾科技37 分钟前
DolphinDB:技术赋能钢铁业,国产时序数据库领路数智化落地
数据库·物联网·时序数据库·dolphindb
熬夜有啥好38 分钟前
Linux软件编程——数据库——自制小词典
数据库·linux软件编程·自制词典
青桔柠薯片44 分钟前
数据库编程:从SQLite基础到C语言集成
linux·数据库·学习·sqlite
技术净胜44 分钟前
MySQL 主从复制(日志核心)完整教程
数据库·mysql·adb