-
2021-05-08 02:27:09
最近碰到一个数据库问题,要查找一行记录的最大值,以及最大值所在的列标志。
表如下:
表名 Test_data
id data_1 data_2 data_3 max_data max_data_time
1 1 2 3 [ ] [ ]
2 6 5 4 [ ] [ ]
3 7 9 8 [ ] [ ]
其中data_1对应的时间是00:00:00点,data_2对应的时间是08:00:00,data_3对应的时间是16:00:00,开始只想到怎么查出相应的列名,在通过列名来取得时间,后来觉得decode函数可以使用下:
select greatest(data_1,data_2,data_3),decode(greatest(data_1,data_2,data_3),data_1,'00:00:00',data_2,'08:00:00',data_3,'16:00:00','00:00:00')
from Test_data
这样达到了效果,update就可以了,但是总觉得这方法哪不好,求教大哥大姐们有什么好方法可以解决不?如果遇到列特别多,到data_999去了,咋办啊?
更多相关内容 -
数据库:常用的最大(小)值查找SQL写法总结
2022-02-25 23:09:52SQL中常常有应用需要找到某个项目的最大值最小值,这里给出相关查找的SQL写法的小结。最值查询方法小结
SQL中常常有应用需要找到某个项目的最大值最小值,这里给出相关查找的SQL写法的小结。
例:找到最大的账户余额
1.1 使用关系代数
Π b a l a n c e ( a c c o u n t ) − Π A 1 . b a l a n c e ( σ A 1 . b a l a n c e < A 2 . b a l a n c e ( ρ A 1 ( a c c o u n t ) × ρ A 2 ( a c c o u n t ) ) ) \Pi_{balance}(account) - \Pi_{A_1.balance}(\sigma_{A_1.balance<A_2.balance}(\rho_{A_1}(account) \times \rho_{A2}(account))) Πbalance(account)−ΠA1.balance(σA1.balance<A2.balance(ρA1(account)×ρA2(account)))
翻译上述的表达式到SQL得:
select balance from account except (select A1.balance from account A1, account A2 where A1.balance < A2.balance);
1.2 使用集合操作
(1)
except
select balance from account except (select A1.balance from account A1, account A2 where A1.balance < A2.balance);
1.3 使用嵌套子查询
(1)
all
关键字select balance from account A where A.account >= all(select balance from account A2);
(2)
exists
关键字select balance from account A1 where not exists(select balance from account A2 where A1.balace < A2.balance);
1.4 聚集函数
select max(balance) from account;
-
cursor 查询数据库某张表某一列最大值
2019-02-22 23:09:19我想查出数据库某张表的其中一列的最大值,刚开始一直报错空指针,我查了好多文章都是说字段错误或别的原因,搞了半天发现是如下情况:注意语句是查max(OrderId) SQLiteDatabase sqld = moh.getWritableDatabase...我想查出数据库某张表的其中一列的最大值,刚开始一直报错空指针,我查了好多文章都是说字段错误或别的原因,搞了半天发现是如下情况:注意语句是查max(OrderId)
SQLiteDatabase sqld = moh.getWritableDatabase(); Cursor cursor = sqld.rawQuery("select max(OrderId) from table_order", null); if (cursor.getCount() >=1 && cursor != null) { while (cursor.moveToNext()) { if (Integer.toString(cursor.getInt(cursor.getColumnIndex("max(OrderId)"))).equals(null)) { maxid = 0; } else { maxid = cursor.getInt(cursor.getColumnIndex("max(OrderId)")); } } } else { maxid = 0; }
我用这个语句在sqlite数据库中查是能查出数据。这里就报错。研究了半天,突然想到会不会是cursor中保存的是max(OrderId),因为数据库执行这个语句的返回结果是如下:
注意这个结果显示的就是max(OrderId),于是我尝试的把以前写的getColumnIndex("OrderId")改成上面代码中的max(OrderId),解决了问题。
-
Oracle数据库查询最大id值加1
2020-06-10 11:44:311.select to_char(nvl(max(to_number(column)),0)+1) column from Table to_number转成数字类型,然后max取最大值,然后nvl处理一下,然后转成char类型+11.select to_char(nvl(max(to_number(column)),0)+1) column from Table
to_number转成数字类型,然后max取最大值,然后nvl处理一下,然后转成char类型+1如果此篇文章帮助到了你,请关注支持一下,下方公众号(一个Java程序员的日常思考),感谢!
-
获取数据库表id最大值的方法
2018-11-28 10:39:521.@Resource private JdbcTemplate jdbcTemplate; 2.Long maxId = jdbcTemplate.queryForObject(String.format("SELECT MAX(ID) FROM 表名"), Long.class); -
mysql查询最大值语句是什么
2021-02-02 17:18:41mysql查询最大值语句是:首先通过对stuname字段进行分组;然后再用MAX函数对每组中的最大值进行计算即可,代码为【SELECT a.stuname,MAX(a.score) AS..】。【相关学习推荐:mysql教程(视频)】mysql查询最大值语句是... -
MySQL查询最大值(max)、平均值(avg)、最小值(min)
2020-07-22 11:48:33MySQL的最大值、平均值、最小值查询 如有问题,请多指教! 软检测试 DDL:数据定义语言 DML:数据操作语言 DQL:数据查询语言 格式:select 查的值(查的字段) 查名 from 表; 最大值(MAX) 查询tb_users表中age... -
Spark查找dataframe某列最大值
2020-08-19 16:11:30比如,取某一列最大值的操作,在python中直接如下操作即可,简单方便 `max(df["A"].unique())` 查了很多scala中的操作,选择了一种相对比较简单的方式。首先将dataframe转化成视图,并通过sql的方式找到最大值。 df... -
mysql数据库查询MYSQL表字段最大值的方法及常见的mysql统计函数
2017-05-12 15:02:41mysql最大值是我们经常需要取得的值,下面就为您介绍查询MYSQL表字段最大值的方法,希望可以让您对MYSQL表字段最大值有更多的了解。 如图、 假如想要取得最大ID的name值(这里只是借ID为例 不用ordery by) 解决... -
sql查询字段最大值
2021-07-06 13:53:09SELECT id FROM A order by id desc LIMIT 1 -
mysql查找最小值(最大值)对应的记录
2020-10-20 16:04:27mysql查找最小值(最大值)对应的记录 列如有商品表 commodity 字段 类型 备注 id int 主键ID name varchar 商品名 price decimal 价格 现在要查询价格最低的商品信息 方法一:用 ORDER BY 把价格进行... -
MySQL MAX函数:查询指定列的最大值
2021-01-18 19:04:20MySQLMAX() 函数是用来返回指定列中的最大值。为了方便理解,首先创建一个学生成绩表 tb_students_score,学生成绩表的数据内容如下所示。mysql> use test_db;Database changedmysql> SELECT * FROM tb_... -
数据库查询id最大的数据
2021-12-15 16:51:47mysql 查询id最大的数据 -
C#获取数据库中某个字段的最大值
2014-12-07 23:06:24curTime = SalesDB.ImageTable.Max(s => s.AddTime); 上面的代码获取到数据库中AddTime字段的最大值。 转载于:https://blog.51cto.com/wzwyc/1587374 -
查询表中某一个字段的数字最大值的记录
2021-02-04 21:01:28这个是一个csdn上有人问的一个题目,具体的题目如下:数据库表 表1id name1 DB-235-aa-fc2 DB-275-ag-fw3 DB-235-ajj-fj4 DB-4444444-ss-fq5 DB-2222-kkk-fh6 DB-997-ii-fw. .. .里面几千,几万条在数据库中写查询... -
Oracle数据库获取一行记录中某几个字段的最大值/最小值函数
2019-04-21 14:29:15Oracle数据库获取一行记录中某几个字段的最大值/最小值函数 在数据库的开发过程中,我们可能会遇到这样的需求,获取一行记录中某几个字段的最大值或者是最小值,oracle给我们提供了解决这种需求的函数,如下所示: ... -
lambda 获取属性最大值
2021-04-17 20:34:31Optional<YourBean> maxNum = result.stream().collect(Collectors.maxBy(Comparator.comparing(YourBean::getNum))); -
MySQL – 两个或多个字段中的最大值
2021-01-26 05:54:14如果要获取所有行的绝对最大值,则可能需要使用以下内容:SELECT GREATEST(MAX(field1), MAX(field2));实施例1:SELECT GREATEST(1, 2);+----------------+| GREATEST(1, 2) |+---------------... -
数据库查出表中某个字段最大值
2012-11-21 19:09:18select case when max(replace(字段名,'$','')) = null then '0' else max(replace (字段名,'$','')) end 字段名 from (select 查询的一些字段 from 表名 ) t where 条件 -
pl/sql查找表_PL / SQL程序查找三个数中的最大值
2020-09-14 08:27:17pl/sql查找表Here you will getplsql program to ... 在这里,您将获得plsql程序以查找三个数字中的最大值。 declare a number:=10; b number:=12; c number:=5; begin dbms_output.put_line('a='||a||' b='... -
在pandas DataFrame中查找列的值最大的行
2020-12-09 15:44:31例如,如果您将字符串值作为索引标签,例如行'a'到'e',您可能想知道最大值出现在第4行(而非行'd')。然而,在大熊猫0.16,所有上面只列出的方法提供的标签,从Index有问题的行,如果你希望中的那个标签的位置整数... -
(如何)查询SQL数据库中一条记录中多列(字段)的数据最大值
2018-05-31 16:39:23如图2个列的数据,通过下面的sql来查询出每个ID的最大值在一条记录(行)中: SELECT id, MAX(max_data) FROM (SELECT id, data1 as max_data FROM 表名 UNION SELECT id, data2 FROM 表名) MaxData(必须再自定义一... -
【数据库】sql获取分组后某字段最大值的那行记录
2018-12-17 11:32:05遇到一个需求,找出分组后,某个字段最大值的所有记录。因此,很直观的就有了类似下面的sql语句: 方法一: select * from test as a where typeindex = (select max(b.typeindex) from test as b where a.type =... -
怎么用mysql查询全表最大字段值的数据?
2021-01-18 18:15:16展开全部select * from 表 order by 要最大值636f70793231313335323631343130323136353331333365633866的字段 desc limit 0,10FILE: 在MySQL服务器上读写文件。PROCESS: 显示或杀死属于其它用户的服务线程。RELOAD: ... -
JS如何找数组中的最大值
2020-04-14 12:04:33三、利用数组的reduce()或者reduceRight()方法 reduce()和reduceRight()方法使用指定的函数将数组元素进行组合,生成单个值。这在函数式编程中可称为“注入”和“折叠”。 let arr = [12, 223, 44, 56, 785, 34, ... -
数据库max_connection_errors 超过最大值
2018-09-26 09:59:32同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞; 解决方法: 1、提高允许的max_connection_errors数量(治标不治本): ① 进入Mysql... -
sql语句查找某一列的值得最大值。
2016-07-23 14:06:00记录一下:sql语句查找某一列的值得最大值。 1.例如我要查找 表A中a列的最大值: 查找语句可以这么写: "select Max(a) a from A" 2.查找表A中a列中包含字符串string的最大值,其实就是模糊找查找并取其中的最大... -
tp5(thinkPHP5)框架实现多数据库查询的方法
2020-12-19 05:45:44本文实例讲述了tp5(thinkPHP5)框架实现多数据库查询的方法。分享给大家供大家参考,具体如下:引言:有时候一个管理后台,需要涉及到多个数据库。比如,商城管理、直播管理、消息管理等等,它们都有自己的数据库。这... -
mysql分组后查询最大值
2022-02-09 16:21:052,3,4,5可行,文档1详情 MySql按字段分组取最大值记录 数据库原始数据如下:数据库名:tbl_clothers 需求是:按照type分组,并获取个分组中price中的最大值,解决sql如下: 方法一: select * from (select type, ... -
oracle数据库根据分类,查询每个类的最大值,并添加到原有结果集中
2018-03-01 20:19:04根据类别,查询每个类别的最大值,可以直接由分组(group by)实现:如下数据:查询每个类别(TEST_TYPE)的索引(TEST_INDEX)的最大值:查询结果集:如需将上述结果集与图一原有数据一并查询,可以用一下sql进行...