【发布时间】:2019-06-17 04:58:21
【问题描述】:
我有一个表,其中包含时间戳、传感器名称、温度、湿度等属性。我所做的是通过根据 DESC 顺序中的时间戳进行排序来获得结果,并且我有条件在 1 天 7 天或上个月获得结果。但问题是当我访问旧记录时,我得到了更多的价值。我需要做的是,由于我的数据是按时间戳排序的,所以每个日期最多需要 15 到 20 行/记录。假设我正在获取 6 月 10 日到 6 月 17 日的数据,每个日期有 100 条记录。我只需要特定日期的 10/20 条记录(每天前 20 条)。
我的 MySQL 版本是 5.7.26,我尝试使用 ROW_NUMBER 但没有帮助
SELECT datestamp AS TIME,Temperature AS TEMPERATURE FROM table_name WHERE NodeAdd = 'SensorName' and datestamp >= DATE_ADD(CURRENT_DATE,INTERVAL -'$somevar' DAY) ORDER BY datestamp DESC
上面的代码显示了我如何获取不同日期的数据,$somevar 变量是硬编码的,如果用户选择天,如果他选择前一周,则为 -1,上个月为 -7 和 -30。我每天最多需要 20 行/记录。
注意 :: 我的表中没有 ID 列或唯一/主键,所以我试图仅通过日期使用分区来获取特定行。
【问题讨论】:
标签: php mysql sql database phpmyadmin