根据行号查找行

时间:2015-10-31 13:25:14

标签: mysql

当我想获得第5行时,我这样做:

var jsonStr = (JSON.stringify(data, ['flightPositions', 'flightId', 'positions', 'lat', 'lon', 'date'], 4));
console.log(jsonStr);

var jsonObj = JSON.parse(jsonStr);
console.log(jsonObj.flightPositions); 

如果我想获得第5行和第7行,我的查询应该是什么?

1 个答案:

答案 0 :(得分:0)

这是一种方法:

(SELECT * FROM table ORDER BY id DESC LIMIT 4, 1)
UNION ALL
(SELECT * FROM table ORDER BY id DESC LIMIT 6, 1)

如果你没有id的索引(甚至在你做的某些情况下),更有效的方法会使用变量:

SELECT t.*
FROM (SELECT t.*, (@rn := @rn + 1) as rn
      FROM table CROSS JOIN (SELECT @rn := 0) params
      ORDER BY id DESC
     ) t
WHERE rn IN (5, 7);

这只对数据进行一次排序。