4

我正在将给定信号的实时变化记录到我的数据库表中。

然后我绘制折线图来可视化信号电平的变化。

我想在表格中获取第 (10n+1)来制作粗略的图表。10也是任意的。用户可以将其更改为另一个值。

有人知道如何仅使用 MySQL 查询来做到这一点

如果没有,我将在选择所有数据后使用 PHP。

这里我的表结构是:

|id        |signal1   |signal2   | signal 3   |
+----------+----------+----------+------------+
|1         |0.41452   | 1.32135  | 0.31231    |
...
4

2 回答 2

4

如果你有一个 auto_incrememt id 列,你可以选择能被 n 整除的行

SELECT * FROM tableName1 WHERE MOD(id,10)=0; 
// id divided by 10 with a remainder equal to 0 (exact)

或没有顺序列 id

SELECT * FROM ( 
    SELECT 
        @row := @row +1 AS rowNum, colName1 
    FROM ( 
        SELECT @row :=0) r, tableName1
    ) ranked 
WHERE rowNum % 10 = 1 
于 2013-04-25T10:27:03.487 回答
0

如果您的表具有自动递增 id (intID),那么您应该尝试此代码。我的表中只有 26 条记录。

select * from tablename where intId 
        in (select case  (intId%10=0) when 1 then intId else 0 end as x from tablename )

输出 :-

10  sdf KK201300010 123456  Regular
20  sdf KK201300020 123456  Regular

它将显示每 10 条记录中的每条记录。希望它会帮助你。

于 2013-04-25T10:40:12.013 回答