方法一:
方法二:
上一条:
下一条:
        
SELECT * FROM table_name WHERE id IN (
SELECT CASE 
	WHEN SIGN(id - 8) > 0 
		THEN MIN(id) 
	WHEN SIGN(id - 8) < 0 
		THEN MAX(id) END AS id
FROM table_name WHERE id <> 8 GROUP BY SIGN(id - 8) ORDER BY SIGN(id - 8)
) ORDER BY id ASC; 方法二:
上一条:
SELECT * FROM table_name WHERE id < $id ORDER BY id DESC LIMIT 1 下一条:
SELECT * FROM table_name WHERE id > $id ORDER BY id ASC LIMIT 1  
                   
                   
                   
                   
                             本文介绍两种SQL技巧,用于高效地从数据库中检索指定ID前后的记录。第一种方法使用CASE WHEN语句结合GROUP BY和ORDER BY实现,第二种方法则通过简单的两步查询完成。这些技巧对于需要展示列表中当前项相邻项的应用场景非常实用。
本文介绍两种SQL技巧,用于高效地从数据库中检索指定ID前后的记录。第一种方法使用CASE WHEN语句结合GROUP BY和ORDER BY实现,第二种方法则通过简单的两步查询完成。这些技巧对于需要展示列表中当前项相邻项的应用场景非常实用。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   2750
					2750
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            