几列中取最大的一列

jollroy 2016-04-26 10:41:03
比如说我现在有一行数据,有3列。我想取到最大一列的数据值和列名
-----------------------------
A B C
-------------------------
1 2 3
=========================
我除了用union每次查1列 然后连3次再取到 C是3的这列
还有什么办法能取到数据值最大的值和列名
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2016-04-26
  • 打赏
  • 举报
回复

-- 使用 greatest 函数求最大值

SQL> 
SQL> create table test(a int, b int, c int);
Table created
SQL> begin
  2      insert into test values(11,12,13) ;
  3      insert into test values(21,22,16) ;
  4      insert into test values(33,12,10) ;
  5  end ;
  6  /
PL/SQL procedure successfully completed
SQL> select greatest(a, b, c) max_value from test ;
 MAX_VALUE
----------
        13
        22
        33
SQL> drop table test purge ;
Table dropped

SQL> 

jollroy 2016-04-26
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
列名也想得到 ?
不想得到列名能得到值吗
卖水果的net 2016-04-26
  • 打赏
  • 举报
回复
列名也想得到 ?
卖水果的net 2016-04-26
  • 打赏
  • 举报
回复

mysql> select @@version ;
+------------+
| @@version  |
+------------+
| 5.6.21-log |
+------------+
1 row in set (0.00 sec)

mysql>
mysql> create table test(a int, b int, c int);
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> insert into test values(11,12,13) ;
Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(21,22,16) ;
Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(33,12,10) ;
Query OK, 1 row affected (0.00 sec)

mysql>
mysql> select greatest(a, b, c) max_value from test ;
+-----------+
| max_value |
+-----------+
|        13 |
|        22 |
|        33 |
+-----------+
3 rows in set (0.00 sec)

mysql>
mysql> drop table test  ;
Query OK, 0 rows affected (0.01 sec)

mysql>
jollroy 2016-04-26
  • 打赏
  • 举报
回复
引用 3 楼 wmxcn2000 的回复:

-- 使用 greatest 函数求最大值

SQL> 
SQL> create table test(a int, b int, c int);
Table created
SQL> begin
  2      insert into test values(11,12,13) ;
  3      insert into test values(21,22,16) ;
  4      insert into test values(33,12,10) ;
  5  end ;
  6  /
PL/SQL procedure successfully completed
SQL> select greatest(a, b, c) max_value from test ;
 MAX_VALUE
----------
        13
        22
        33
SQL> drop table test purge ;
Table dropped

SQL> 

在mysql有没有对应的函数

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧