我有一张表格,其中包含成千上万条记录,它们表示某个时刻的房间温度。到目前为止,我一直在使用JQuery绘制温度的客户端图。但是,随着记录数量的增加,我认为如果无法在单个图形中表示所有数据,则向视图提供这么多的数据是没有意义的。

我想知道是否存在单个MySQL查询,该查询返回表中每n条记录中的一条。如果是这样,我想我可以得到一段时间内测得的代表性温度样本。

有任何想法吗?提前致谢。

编辑:添加表结构。

CREATE TABLE IF NOT EXISTS `temperature` (
  `nid` int(10) unsigned NOT NULL COMMENT 'Node identifier',
  `temperature` float unsigned NOT NULL COMMENT 'Temperature in Celsius degrees',
  `timestamp` int(10) unsigned NOT NULL COMMENT 'Unix timestamp of the temperature record',
  PRIMARY KEY (`nid`,`timestamp`)


最佳答案

您可以执行此操作,其中子查询是您的查询,然后向其中添加行号:

SET @rows=0;
SELECT * from(
   SELECT @rows:=@rows+1 AS rowNumber,nid,temperature,`timestamp`
   FROM temperature
) yourQuery
WHERE MOD(rowNumber, 5)=0


国防部将每5行选择一次:这里的5是您的n。所以第5行,然后是10、15等

关于mysql - 每n个记录中检索一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33486313/

10-10 10:45