MySQL-获取当月1号4天的最新数据

标签 mysql datetime select

我的数据库中有一个表,其中存储每月 1 号的meters 能源值。如果仪表离线,它将存储第二天的值。

以下是我的案例

我有过去两个月二月三月的仪表记录。 February 数据为 2019-02-01 00:00:00,但 March 月份有 4 行。见下图

enter image description here

在上图中,3 月的1st、2nd 和 3rd 具有 FA 空值,但 3 月 4 日包含一些值。

我做了什么?

我能够选择具有 FA 值的行。

我想做什么?

  1. 我只想获取当前月份的数据,即当前月份是三月,所以它应该只获取三月记录,然后下个月它应该只获取四月记录,所以上。
  2. 查询不应超出超过 4 天的限制,即仅检查每月前四天的记录。

这是我的 DB-Fiddle

如有任何帮助,我们将不胜感激。

最佳答案

解决这个问题的一种方法是 为了 我只想获取当前月份的数据,即当前月份是三月,所以它应该只获取三月记录,然后下个月它应该只获取四月记录,依此类推。

means month(TV)= month(now())

和 查询的天数限制不应超过4,即仅检查每月第1-4天的记录。 means day(TV)<= 4

最后是你的查询

select * from `biz_pub_data_f_energy_m` a
 where a.`DATA_ID` = '1b9716122dd5408691a063227316ac0a'
 and a.`FA` is NOT NULL and month(TV)= month(now())
 and day(TV)<= 4

关于MySQL-获取当月1号4天的最新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55334804/

相关文章:

mysql - 我可以在 SQL 查询中使用 '= ALL' 吗?

css - 如何正确使用 z-index 来防止下拉菜单出现错误重叠?

php - SQL 查询按 id 和预定义名称排序

javascript - 使用 Javascript DOM 操作从下拉列表值更改 HTML 元素

android - 我可以在一个 Activity 中有两个 AsyncTask 类吗(不同时工作)

php - 需要使用 Paypal Mass Pay API 通过 IPN 捕获和存储收款人的详细信息

mysql - 避免 "#1060 - Duplicate column name"错误,但仍然使用 SELECT *

c# - 不使用验证器验证日期?

node.js - 寻找一种方法来检索当前时间为 x 的时区

sql - 查询最大并发时间跨度数