Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 基于同一天获取n个数据(时间戳)_Mysql_Timestamp_Date - Fatal编程技术网

Mysql 基于同一天获取n个数据(时间戳)

Mysql 基于同一天获取n个数据(时间戳),mysql,timestamp,date,Mysql,Timestamp,Date,我有一个表“传感器”,它有以下字段: id(int,PK) 时间戳 纬度(varchar) 经度(varchar) 数据(浮动) 正如在一个查询中一样,我希望得到5行在同一天。请注意,它不是当前日期,数据有很多不同的日期。所以,如果他们在同一天,我想得到他们。。 我试过使用INTERVAL,但不起作用。谢谢假设您想查看上周传感器数据点的数量 SELECT DATE(timestamp) dt, COUNT(1) datapoints FROM sensor WHERE

我有一个表“传感器”,它有以下字段:

  • id(int,PK)
  • 时间戳
  • 纬度(varchar)
  • 经度(varchar)
  • 数据(浮动)
正如在一个查询中一样,我希望得到5行在同一天。请注意,它不是当前日期,数据有很多不同的日期。所以,如果他们在同一天,我想得到他们。。
我试过使用INTERVAL,但不起作用。谢谢

假设您想查看上周传感器数据点的数量

SELECT
    DATE(timestamp) dt,
    COUNT(1) datapoints
FROM sensor
WHERE
    timestamp >= DATE(NOW()) - INTERVAL 1 WEEK + INTERVAL 0 SECOND
GROUP BY DATE(timestamp);
逐日看这个月

SELECT
    DATE(timestamp) dt,
    COUNT(1) datapoints
FROM sensor
WHERE
    timestamp >= DATE(NOW()) - INTERVAL (DAY(NOW())-1) WEEK + INTERVAL 0 SECOND
GROUP BY DATE(timestamp);
白昼看今年

SELECT
    DATE(timestamp) dt,
    COUNT(1) datapoints
FROM sensor
WHERE
    timestamp >= MAKEDATE(YEAR(NOW()),1)
GROUP BY DATE(timestamp);
按月看今年

SELECT
    DATE(timestamp - INTERVAL (DAY(timestamp)-1) DAY) dt,
    COUNT(1) datapoints
FROM sensor
WHERE
    timestamp >= MAKEDATE(YEAR(NOW()),1)
GROUP BY DATE(timestamp - INTERVAL (DAY(timestamp)-1) DAY);

到目前为止,您尝试了什么查询???从
传感器
中选择*其中
时间戳
=间隔1天按
id
DESC LIMIT 5I刚刚发布了我的答案。至于您的查询,它应该是:
SELECT*FROM sensor WHERE timestamp>=DATE(NOW()-INTERVAL 1 DAY)ORDER BY id DESC LIMIT 5
INTERVAL
是一个对
DATETIME
TIMESTAMP
值进行加减运算的运算符。只要看到我的示例,就可以根据需要使用
LIMIT
DATE(NOW())
可以替换为
CURDATE()
<代码>+间隔0秒可能没有任何用处,可以删除。