sql 每隔2条数据取出1条数据

表名 user 需要查询出的字段 name 有数据自带的序号

现在要实现 每隔2条查询出1条数据

大神 你在哪里

select aa.* from (select ROW_NUMBER() over(order by t.pk_id)rn,t.* from 表名 t )aa where right(convert(nvarchar(5),rn),1)='1'

我自己写了一个 但是老是提示 right 标识无效

select aa.* from (select ROW_NUMBER() over(order by t.pk_id)rn,t.* from 表名 t )aa where right(convert(rn,char(5)),1)='1'

convert函数可以使用的类型是有限的,这个类型可以是以下值其中的一个:
二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED

这样看看呢。/

  SELECT  RIGHT(RTRIM(column), 3) as  col  FROM    table where    col='1'

使用where进行筛选就好,比如查询数据中有id列自增,可这样获取: ..... where (id % 3) = 0

可以,,用id对3取余就行了

select aa.* from (select ROW_NUMBER() over(order by t.字段)rn,t.* from 表名 t )aa where not rn/5 like '%.%'

写了一个这个