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 标识无效

5个回答

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

leaf_130
吴威龙 回复趁着年轻丶去疯狂吧: id有序即可
4 年多之前 回复
she8656837
趁着年轻丶去疯狂吧 id 用的uuid
4 年多之前 回复

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

she8656837
趁着年轻丶去疯狂吧 id 是uuid
4 年多之前 回复

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

写了一个这个

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问