【HANA系列】SAP HANA SQL取表中每行最小值

前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
比如有一个表结构+数据如下:
ID | COL_1 | COL_2 | COL_3
---|-------|-------|------
1 | 5 | 3 | 2
2 | 7 | 9 | 8
3 | 5 | 4 | 6
想要得到每一行最小的数据值
即得到如下结果:
ID | MIN
---|-------
1 | 2
2 | 7
3 | 4
很多人可能第一个想法就想到min()函数
就是下面这个写法:
SELECT ID, min(COL_1, COL_2, COL_3) FROM DUMMY;
这说明,你还不了解HANA中的min()函数
来简单介绍一下min()函数
min()函数一次只支持两列啊 两列啊
所以,这样的做法不行,下面来介绍个更好的
就是我这样的写法如下:
select least(col_1, col_2, col3_3)
from DUMMY;
这个写法可以实现上面的需求,但是有个问题,就是,如果有NULL的数值列就不行了
那么,你可以把NULL数据值处理一下
用:
COALESCE()
来处理NULL数值列
这样就完美了,O(∩_∩)O哈哈~
【HANA系列】SAP HANA SQL取表中每行最小值的更多相关文章
- oracle通过sql随机取表中的10条记录
oracle通过sql随机取表中的10条记录: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE Row ...
- 在一个SQL Server表中的多个列找出最大值
在一个SQL Server表中一行的多个列找出最大值 有时候我们需要从多个相同的列里(这些列的数据类型相同)找出最大的那个值,并显示 这里给出一个例子 IF (OBJECT_ID('tempdb..# ...
- sql一个表中两个字段合并求和
sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total from TABLE
- SQL server 表中如何创建索引?
SQL server 表中如何创建索引?看个示例,你就会了 use master goif db_id(N'zhangxu')is not nulldrop database zhangxugocre ...
- SQL 把表中字段存储的逗号隔开内容转换成列表形式
原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ...
- SQL将一个表中的某一列值全部插入到另一个表中
1. SQL将一个表中的某一列值全部插入到另一个表中 插入的话: insert into a(col) select col from b; 更新的话: update a set col=selec ...
- 个人学习记录--取表中Name相同的最大值,非Group By,可延伸
), qy ), je INT); INSERT INTO @t SELECT '产品一', '北京', UNION ALL SELECT '产品一', '上海', UNION ALL SELECT ...
- sql将一个表中的数据插入到另一个表中
sql将一个表中的数据插入到另一个表中 列名不一定要相同,只要你在HH中列出要插入列的列表跟select from mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的. ...
- mssql sqlserver 禁止删除数据表中指定行数据(转自:http://www.maomao365.com/?p=5323)
转自:http://www.maomao365.com/?p=5323 摘要:下文主要讲述,如何禁止删除数据表中指定行数据 最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1.2.3.4.5的 ...
随机推荐
- spring RestTemplate 出现 NoHttpResponseException 和 ConnectionTimeoutException
使用 httpclient.4.5.6 springboot 2.0.8RELEASE RetryExec.java CloseableHttpResponse execute() try { ret ...
- Eclipse指定jdk启动
在eclipse.ini文件中加入这一句话: -vm D:/Java/jdk/jdk1.8/jre/bin/server/jvm.dll
- mybatis 注解@Results、@Result、@ResultMap、@One的使用
- Ubuntu下python开发环境搭建
配置语言 1) 依次点击设置--Region & Language--Manage Installed Languages --install/remove language--chinese ...
- 燕化迷你ACDP程序FEM / BDC
带有BMW FEM / BDC模块的Mini ACDP可通过ICP或OBP模式支持FEM / BDC IMMO键编程.与传统的接线方式相比,它们有什么区别? 方法1:通过其他设备通过焊接进行FEM / ...
- gulp+babel 实时转es6
1.安装gulp npm install gulp 2.得到package.json文件 npm init 2.全局安装Babel. npm install -g babel-cli npm ...
- 图论小专题A
大意失荆州.今天考试一到可以用Dijkstra水过的题目我竟然没有做出来,这说明基础还是相当重要.考虑到我连Tarjan算法都不太记得了,我决定再过一遍蓝皮书,对图论做一个小的总结.图论这个部分可能会 ...
- vue子路由设置、全局组件、局部组件的原生写法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 深入理解 Java 线程池
一.简介 什么是线程池 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务. 为什么要用线程池 如果并发请求数量很多,但每个线程执行的时间很短,就会出现频繁的创建 ...
- Cortex-M3 入门指南(三):时钟总线与复位时钟控制器
[reset clock control 复位和时钟控制器] 时钟信号对于处理器非常重要,比如我们熟悉的 CPU 就是由时钟信号驱动的,而主频就是内核的的时钟信号频率.Cortex-M3 有着复杂的 ...