大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
今天纠结了好长时间 , 才解决的一个问题 ,
问题原因是 求得多条数据中, 时间和日期是最大的一条数据
先前是以为只要msx 函数就可以解决的 ,
Select * from tableName where date=(select max(date) from TableName) and time =(select max(time) from TableName)
测试的时候发现取出的是一条数据, 因为测试的时候是一天中的两条数据, 没有不同的日期,所以当日以为是正确的 ,然而第二天写入数据了,要取出数据,却发现没有数据, 返回空的行, 以为都是代码又有问题 了,找了半天都没有 ,仔细看看了存储过程中的代码,发现这样返回的数据的确是空的。
这个是嵌套查询的语句。 先执行的是外部查询的语句 。
比如说有三条信息.用上面写的语句在SQL分析器中执行
分析下这样的查询 先查找的是 日期 , 日期最大是下面两条语句 。 在对比时间 。 发现时间最大的只有一
条数据, 这样第二条数据就理所当然的被取出来了。 这个是当时测试的结果
但后来我修改了数据 。第二天测试发现,数据为空了。 没有数据 。分析是这样的
查询到的最大天数是2013-03-18这条数据。第三行。 而时间最带的是21:12:21 是第二条数据
这样与的结果就是没有交集,为空了。
后来通过 查找课本和询问他人。 问题解决了 ,办法就是通过排序的方法
order by Desc 的降序排顺 ,排序可以是通过不同的方式,可以叠加的
上面的语句若果改正为以下语句,就会是想要结果
select top 1 * from T_CheckBill order by date desc,time desc
以上是自己的发现。 交流是一定要的,不然自己的想法很局限了
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169420.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...