使用“order by 字段名 desc ”对日期字段进行倒序排序即可。
sql语法:select from 表名 order by 日期字段名 desc
其中,排序的时候order by 后面跟着需要进行排序的字段名,排序可以有两种,默认是asc升序(在sql中可以不写),如果希望降序排列的话,可以使用desc。如你想要最近的日期的话就只需要降序即可。
举例:如tpl_purchase_order 是我的订单表,该表有一个字段创建日期(字段名:CREDATE)是日期类型,希望通过sql实现按照按照创建日期由近到远的顺序排列。
对应sql: select from tpl_purchase_order order by credate desc;
sql执行后输出结果为:
扩展资料:
我们可以通过一些实例来具体分析排序order by 子句的用法:
假设有Orders 表如下:
1、实例 1
以字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company
结果如下:
2、实例 2
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
结果如下:
3、实例 3
以逆字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
结果如下:
4、实例 4
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
结果如下:
注意:在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。
SELECT COUNT()
FROM (SELECT 分组字段 FROM 表
GROUP BY 分组字段
)别名
或者
SELECT COUNT()
FROM (SELECT distinct 分组字段 FROM 表)别名
扩展资料:
SQL分组查询
在SQL Server中使用的分组查询是ORDER BY子句,使用ORDER BY子句要同聚合函数配合使用才能完成分组查询,在SELECT查询的字段中如果字段没有使用聚合函数就必须出现在ORDER BY子句中(即SELECT后边的字段名要么出现在聚合函数中,要么在ORDER BY子句中使用)
在分组查询中还可以配合使用HAVING子句,定义查询条件。
使用group by进行分组查询
在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:
1、被分组的列
2、为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数
3、group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面
如果是ORACLE ERP中,则可以如下:
select CALENDAR_DATE
from BOMBOM_CALENDAR_DATES
where
CALENDAR_CODE='WORKDAY' / WORKDAY为工作日历代码 /
and CALENDAR_DATE>=to_date('2004-04-30','yyyy-mm-dd')
and CALENDAR_DATE<=to_date('2004-05-08','yyyy-mm-dd')
如果仅仅是ORACLE SQL,不在ERP系统中,则需要自己写一个PL/SQL函数,
参数为DATE_FROM,DATE_TO
然后在SQL中调用
以上就是关于sql 如何查询同一个字段中,日期最近的那个记录全部的内容,包括:sql 如何查询同一个字段中,日期最近的那个记录、sql语句 如何分组后得到记录总数、怎么用sql获得一段时间内的所有日期的记录集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)