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;
相关推荐
添砖java‘’13 小时前
MYSQL操作库
数据库·mysql
逻辑驱动的ken13 小时前
Java高频面试考点14
开发语言·数据库·算法·哈希算法
qq_1898070313 小时前
Less如何处理CSS长文本换行_封装Mixin解决不同场景需求
jvm·数据库·python
HHHHH1010HHHHH14 小时前
CSS如何处理带有状态切换的折叠菜单_利用BEM修饰符管理状态
jvm·数据库·python
2401_8716965214 小时前
如何在响应式网页中水平居中表单(CSS 绝对定位居中方案)
jvm·数据库·python
2301_7751481514 小时前
CSS如何减少对HTML结构依赖_利用BEM命名保持样式的逻辑独立
jvm·数据库·python
sinat_3834373614 小时前
HTML函数调试需要高性能电脑吗_调试环境硬件需求技巧【指南】
jvm·数据库·python
解救女汉子14 小时前
Nginx如何配置phpMyAdmin访问_反向代理设置方法
jvm·数据库·python
qq_2069013914 小时前
Navicat导出CSV文件数据为空如何解决_过滤条件与权限排查
jvm·数据库·python
m0_5887584814 小时前
高效实现分组内跨行时间戳匹配:为每组生成布尔标记列 user_rejects
jvm·数据库·python