如何从SQL中选择每个(1918/1000)记录?

时间:2011-08-18 09:00:14

标签: mysql sql

我有这个SQL从2000条记录中选择1000。

(SELECT 
        @rownum := @rownum + 1 AS rownum,
        data.*,
        IF(@rownum % 2 = 1, '1', '2') AS grp,

但是现在我需要使用相同的符号来命令从1918年选择1000。

这意味着我需要做的是代替2值1.918

如何通过SQL做到这一点?

2 个答案:

答案 0 :(得分:2)

SELECT 
  @rownum := @rownum + 1 AS rownum,
  data.*,
  IF( FLOOR( @rownum % (1918.0/1000.0) ) = 0, '1', '2') AS grp

答案 1 :(得分:0)

我想出了这个:

IF(MOD(@rownum,2)=1 OR MOD(@rownum,1.918) BETWEEN 0.960 AND 1.040, '1', '2') AS grp,