iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >指定一个ID找到上下的范围
  • 527
分享到

指定一个ID找到上下的范围

2024-04-02 19:04:59 527人浏览 八月长安
摘要

倒是不复杂 需求: 实现思路: 给定一个ID,比如272944 如果表中的ID大于这个值,则自定义变量自增加一, 如果表中的ID小于这个值,则用这个值减去表中ID, 如果表中的ID等于这个值,则为0

倒是不复杂
需求:
指定一个ID找到上下的范围

实现思路:
给定一个ID,比如272944
如果表中的ID大于这个值,则自定义变量自增加一,
如果表中的ID小于这个值,则用这个值减去表中ID,
如果表中的ID等于这个值,则为0

  1.     SELECT   
  2.         a.ZpID,  
  3.             WHEN a.zpid - 272944 > 0 THEN @a:=@a + 1  
  4.                 WHEN a.zpid - 272944 < 0 THEN a.zpid - 272944  
  5.                 ELSE 0  
  6.             END AS rn  
  7.     FROM  
  8.         zp_audio_video a, (SELECT @a:=0) vars  
  9.     WHERE  
  10.         a.State = 1  
  11.             AND a.Labels LIKE '三周年站庆歌曲类%'  
  12.     ORDER BY a.Zpid  

结果:
指定一个ID找到上下的范围

最后过滤找到结果:
  1. SELECT   
  2.     *  
  3. FROM  
  4.     (  
  5.         SELECT   
  6.             a.ZpID,  
  7.                 WHEN a.zpid - 272944 > 0 THEN @a:=@a + 1  
  8.                     WHEN a.zpid - 272944 < 0 THEN a.zpid - 272944  
  9.                     ELSE 0  
  10.                 END AS rn  
  11.         FROM  
  12.             zp_audio_video a, (SELECT @a:=0) vars  
  13.         WHERE  
  14.             a.State = 1  
  15.                 AND a.Labels LIKE '三周年站庆歌曲类%'  
  16.         ORDER BY a.Zpid  
  17.     ) a  
  18. WHERE  
  19.     rn <= 5 AND rn != 0  
  20. ORDER BY rn DESC  
  21. LIMIT 10;  

指定一个ID找到上下的范围


您可能感兴趣的文档:

--结束END--

本文标题: 指定一个ID找到上下的范围

本文链接: https://www.lsjlt.com/news/46847.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作