从顶部开始每隔100条记录

时间:2014-09-18 06:17:06

标签: mysql sql join xampp

我的表收入包含4436条记录,其中有两列 - no_id(唯一)和payments。 我想提取一个查询,它将提供一行开始和放大。间隙为100的结束列。百分之一的差异可以根据用户输入而变化,可以是1-250之间的任何值。

原始表

no_id, payments 

4436, 7540

4435, 7900

4434, 8000

4433, 4500
'
'
'
'

1,2000

我期待输出像这样 -

start, end
4436,4337

4336,4237

4236,4137

4136,4037

我写了一个连接语句。我希望检查我的错误以及我需要纠正的地方。

SELECT (table2.no_id*100)-100+1 as start, table1.no_id as end,
table1.payments FROM earnings as table1, earnings as table2 
WHERE (table1.no_id= table2.no_id*100 AND table2.no_id>MOD(t2.max_no,100))

JOIN

(SELECT max(t2.no_id) as max_no FROM  earnings as t2)

1 个答案:

答案 0 :(得分:1)

您可以加入查询max(no_id),就像您一样,并检查它与行no_id之间的区别。假设差距为100

SELECT   no_id AS `start`, no_id - 100 + 1 AS `end`
FROM     my_table
JOIN     (SELECT MAX(no_id) AS max_no_id
          FROM   my_table)
         ON (max_no_id - no_id) % 100 = 0
ORDER BY no_id DESC