1.oracle想查询7天内的数据,那么有两种方式,第一种是使用to_char转换为字符串再计算,另一种直接使用日期进行计算。两种方式都一样,因为oracle比较字符串是根据ASCII码来的,第一个字母的ASCII大小比较如果相等再比较下一个,类推。
2.空格隔开的是有问题的sql,源于我想把max(idnumber)放到where条件后面来比较(放在select后面一下就能查询出最大的),但是第一条会报错,此处不能使用分组函数。为什么会报这个错呢,因为where条件是一条数据一条数据比对的,max函数是直接求出最大值,where条件比max条件先执行,所以说会出错。于是我想到了第二个办法,在having里面使用t.idnumber=max(t.idnumber)来进行条件的限制,达到查询最大idnumber的目的。但是还是会出问题。
如图,查询出了所有的idnumber,因为分组之后,每一组的idnumber都是这个组最大的,每一组idnumber都等于这个组的max(idnumber)。
若有收获,就点个赞吧