sql查询,当天最大销售单号

img


SELECT MAX(sale_number) FROM t_sale_list WHERE TO_DAYS(sale_date) = TO_DAYS(NOW())

怎样用sql语句查询出当天最大的销售单号?

先截取后面数值字符substring(sale_number,3,12)

看这个语句是这个意思

假设销售单号为sales_id,销售日期为sale_date,可以使用以下 SQL 语句查询当天最大的销售单号:

SELECT MAX(sales_id)
FROM sales
WHERE sale_date = CURDATE();
其中,CURDATE() 函数用于获取当前日期。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/265135
  • 这篇博客你也可以参考下:解大厂SQL常见面试题:怎样用SQL找出连续登录天数大于7天的用户?
  • 除此之外, 这篇博客: 听说你写sql很溜,一条sql查询语句是如何执行的?中的 03. 存储引擎 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 经历千辛万苦,终于分析出最终的执行计划,然后就可以直接执行了吗?依然还不可以。需要到存储引擎中把数据查询出来。

    • 什么是存储引擎

    应该把数据存储在什么位置,是内存还是磁盘?怎么从表里读取数据,以及如何把数据写入具体的表中,这些都是存储引擎需要做的工作。(它的前身叫做表处理器)

    存储引擎是计算机抽象的典型代表,它的功能就是接受上层指令,然后对表中数据进行读和写。具体操作是对外完全屏蔽的,我们只需要对外实现同样的接口就可以了。

    这样子可能更好理解:存储引擎就是数据库对数据进行读写的插件而已,根据不同存储的需求切换引擎。

    • 常见存储引擎的比较

    比如MySQL支持的存储引擎都有哪些。

    mysql> SHOW ENGINES;
    +--------------------+---------+--------------+------+------------+
    | Engine             | Support | Transactions | XA   | Savepoints |
    +--------------------+---------+--------------+------+------------+
    | InnoDB             | DEFAULT | YES          | YES  | YES        |
    | MRG_MYISAM         | YES     | NO           | NO   | NO         |
    | MEMORY             | YES     | NO           | NO   | NO         |
    | BLACKHOLE          | YES     | NO           | NO   | NO         |
    | MyISAM             | YES     | NO           | NO   | NO         |
    | CSV                | YES     | NO           | NO   | NO         |
    | ARCHIVE            | YES     | NO           | NO   | NO         |
    | PERFORMANCE_SCHEMA | YES     | NO           | NO   | NO         |
    | FEDERATED          | NO      | NULL         | NULL | NULL       |
    +--------------------+---------+--------------+------+------------+
    

    相信大家应该对sql执行的过程有清楚的认识了,来我们再回归一下流程图:

     希望对大家能有一点帮助,谢谢支持!

  • 您还可以看一下 王进老师的数据库SQL查询,最佳案例讲解课程中的 数据库SQL查询的初体验小节, 巩固相关知识点