MAX是一个对单列数据进行操作,选择最大值,但是对于要选择同一行中两行值中较大一列,这样在sql中是没法使用的,考虑如下数据,要得到x,y中较大的一个
SQL中的MAX是不能直接使用的,但利用以下公式可以达到相应的目的,
max(x,y)=(x+y+ABS(x-y))/2
ABS(x-y)是拿到x-y的差的绝对值,同样也可以得到如下公式:
min(x,y)=(x+y-ABS(x-y))/2
因此可以得到相应的sql如下:
select id,x,y,(x+y+abs(x-y))/2 from xy;
如果是要选择三个列中的最大值的话可以用max(x,max(y,z)),不过这样写出来的sql可是一大堆了:
考虑使用导出表,将三列数据合并到一列中来,然后再在外层Select中查出最大值,如以下脚本:
select id,MAX(m) from (
select id,`x` as m from xyz
union all
select id,`y` as m from xyz
union all
select id,`z` as m from xyz
) u group by id;
- 大小: 4.7 KB
- 大小: 5.7 KB
分享到:
相关推荐
sqlserver字段最大值加1后补0
表:t_test -------------------------------------- id(int) cost(int) des Autoid(id) -------------------------------------- 1 10 aaaa 1 1 15 bbbb 2 1 20 cccc 3 ...取每一类id中cost最大的纪录
如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条)。 代码如下:select * from [Sheet1$] awhere ID not exists (select 1 from [Sheet1$] where PID=a.PID and...
本文是mysql 数据库 问题一 将表一的数据导入表二...在表中插入数据时,某一字段取数据库中该字段的最大值,并+1,这个问题很多人都说用存储过程什么的解决,其实使用insert 和 select 结合就可以很好的解决这个问题啊
按某一字段分组取最大(小)值所在行的数据
易语言SQL基本语句模块源码,SQL基本语句模块,SQL_查询,SQL_添加,SQL_更新,SQL_删除,SQL_删除表,SQL_清空表,SQL_取记录数,SQL_取平均值,SQL_取最小值,SQL_取最大值,SQL_取首记录字段值,SQL_取尾记录字段值,SQL_取总计...
MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...
的功能一体化表现在以下两个方面 支持多媒体数据类型,用户在建表时可直接使用。系统在处理常规数据与 多媒体数据时达到了四个一体化:一体化定义、一体化存储、一体化检索、一体化处理,最大限 度地提高了数据库...
MSSQL 多字段根据范围求最大值实现语句,大家可以参考下
应用工具CALCULATE AREA 或者使用VBA代码实现 新建字段并开启Advanced 写入代码,面积计算: Dim Output as double Dim pArea as Iarea Set pArea = [shape] 在最后的一个空格里面写入代码(即:字段名)pArea...
C#在 ACCESS 表中自动编号复位及获取当前最大值SQL命令,适于C#. 文本源码,其中执行命令的函数用伪语言表示
oracle取最大值的三种方式,并且可同时获取其它字段数据 适用于小白、对数据库不熟悉不熟练的人使用 代码有详细的注释,便于理解 纯SQL实现,下载开箱即用
今天小编就为大家分享一篇关于insert和select结合实现"插入某字段在数据库中的最大值+1"的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 ...
5.1.14 求两个变量的反正切 5.1.15 求余切 5.1.16 求圆周率π值 5.1.17 弧度制转换为角度制 5.1.18 角度制转换为弧度制 5.1.19 求符号 5.1.20 求整除余数 5.1.21 求自然对数 5.1.22 求以10为底的...
5.1.14 求两个变量的反正切 5.1.15 求余切 5.1.16 求圆周率π值 5.1.17 弧度制转换为角度制 5.1.18 角度制转换为弧度制 5.1.19 求符号 5.1.20 求整除余数 5.1.21 求自然对数 5.1.22 求以10为底的...
利用一条查询语句查出乘法表以级对一行数据N字段做MAX处理
–按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: nameval memo a 2 a2(a的第二个值) a 1 a1–a的第一个值 a 3 a3:a的第三个值 b 1 b1–b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b ...
求max最大值、min最小值 去除左右空格函数 日期时间类型数据储存 删除表约束名称 删除触发器 删除视图语句 删除数据表 删除数据表全部数据 删除字段 声明变量 数据回滚动作(撤销动作) 数据库程序案例 数据库系统表...