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;
相关推荐
最懒的菜鸟1 小时前
redis缓存击穿
数据库·redis·缓存
qq_404265831 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python
人间打气筒(Ada)1 小时前
mysql数据库之DDL、DML
运维·数据库·sql·mysql·dba·dml·dql
KingCruel1 小时前
MySQL JSON 数据操作
mysql·json
代码派2 小时前
信创迁移“不敢切”的最后一公里:数据一致性校验怎么做才算够?
数据库·数据库开发·dba·etl工程师·数据库管理工具·信创数据库·信创迁移
qq_418101772 小时前
使用Scikit-learn进行机器学习模型评估
jvm·数据库·python
熙胤2 小时前
PostgreSQL 向量扩展插件pgvector安装和使用
数据库·postgresql
牢七3 小时前
baijiacms-master 审计
数据库
数据知道3 小时前
MongoDB聚合管道性能优化:阶段重排与内存使用控制策略
数据库·mongodb·性能优化
Predestination王瀞潞3 小时前
3.3-mapper映射文件+数据库实体关系设计:数据库实体关系设计、SQL 连接查询及MyBatis 多表映射
数据库·sql·mybatis