首页 > 数据库 >mysql根据当前数据查上一条,下一条数据

mysql根据当前数据查上一条,下一条数据

时间:2023-08-11 15:46:33浏览次数:40  
标签:一条 tpc num2 查上 order num mysql id select

1、如果是id自增,按id比较大小取上一条,下一条就行,简单

 

2、不是id自增,按时间排序的列表数据,用以下sql解决

=====================根据时间排序,查上一条

t_pubservice_content 要查询的表,push_time 为排序的时间字段
select t1.* from(
 select @num:=@num-2 as rownum, tpc.*
 from t_pubservice_content tpc,(select @num:=0) as r
 WHERE tpc.cloumn_id = '1664827884371091458'
 order by push_time desc
) t1,(
    select curNum from(
        select @num2:=@num2-2 as curNum, tpc.*
        from t_pubservice_content tpc,(select @num2:=0) r2
        WHERE tpc.cloumn_id = '1664827884371091458'
        order by push_time desc
    ) t where id = '1666995762037964828'
)t2 where rownum > curNum
order by rownum
limit 1

 

 

=====================根据时间排序,查上下条

select t1.* from(
 select @num:=@num+1 as rownum, tpc.*
 from t_pubservice_content tpc,(select @num:=0) as r
 WHERE tpc.cloumn_id = '1664827884371091458'
 order by push_time desc
) t1,(
    select curNum from(
        select @num2:=@num2+1 as curNum, tpc.*
        from t_pubservice_content tpc,(select @num2:=0) r2
        WHERE tpc.cloumn_id = '1664827884371091458'
        order by push_time desc
    ) t where id = '1666995661924122631'
)t2 where rownum > curNum
order by rownum
limit 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:一条,tpc,num2,查上,order,num,mysql,id,select
From: https://www.cnblogs.com/spll/p/17623135.html

相关文章

  • Mysql 查看数据库大小并保持小数点两位
    SELECT table_schema'DataBaseName', ROUND( SUM(data_length+index_length)/1024/1024/1024,2)'数据库大小(GB)'FROM information_schema.TABLESGROUPBY table_schema;......
  • MySQL全文搜索的高级特性:查询扩展(Query Expansion)
    查询扩展(QueryExpansion)是全文搜索的一个高级特性,尤其对于某些搜索需求来说非常有用。它是基于原始查询返回的结果来进一步扩展并改进搜索结果的过程。当用户执行全文搜索查询时,可能会遇到以下情况:查询结果太少或没有。由于用户不熟悉正确的术语或关键字,查询不准确。在这些......
  • 【Java 初阶】 Mysql 增删改查
    ......
  • MySQL 1130错误原因及解决方案
    错误:ERROR1130:Host‘http://xxx.xxx.xxx.xxx’isnotallowedtoconnecttothisMySQLserve错误1130:主机xxx.xxx.xxx.xxx”不允许连接到thismysql服务原因分析被连接的数据不允许使用主机http://xxx.xxx.xxx.xxx访问,系统数据库mysql中user表中的host是localhost,只允许......
  • ​​​软件开发入门教程网之​​MySQL LIKE 子句​
    我们知道在MySQL中使用SQLSELECT命令来读取数据,同时我们可以在SELECT语句中使用WHERE子句来获取指定的记录。WHERE子句中可以使用等号=来设定获取数据的条件,如"kxdang_author='RUNOOB.COM'"。但是有时候我们需要获取kxdang_author字段含有"COM"字符的所有记录,......
  • ​​​软件开发入门教程网之​​MySQL 连接的使用​
    在前几章节中,我们已经学会了如何在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据。本章节我们将向大家介绍如何使用MySQL的JOIN在两个或多个表中查询数据。你可以在SELECT,UPDATE和DELETE语句中使用Mysql的JOIN来联合多表查询。JO......
  • mysql Error 1264: Out of range value for column 'balance' at row 1
    报错原因:值超出列的范围可能原因:原因1:值超出其可输入的范围。解决方法:设置的为INT,可以把列的值改为BIGINT,或者改成其他数据类型。原因2:新版本的MySQL对字段的严格检查。解决方法:修改my.ini,将sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"......
  • pg、mysql_fdw、postgis安装
    pgwgethttps://ftp.postgresql.org/pub/source/v14.4/postgresql-14.4.tar.gz--no-check-certificateyuminstall-ygccxml2readlinedev*zlibperldev*pythondev*bisonflexsyuminstallreadline-develtarxfpostgresql-14.4.tar.gz./configure--prefix=/usr/loc......
  • MySQL MGR 搭建过程常见问题
    故障1[ERROR]Plugingroup_replicationreported:'Thismemberhasmoreexecutedtransactionsthanthosepresentinthegroup.Localtransactions:bb874065-c485-11e8-8b52-000c2934472e:1>Grouptransactions:3db33b36-0e51-409f-a61d-c99756e90155:1-11&......
  • RISC-V公测平台发布 · 使用YCSB测试SG2042上的MySQL性能
    实验介绍:YCSB(全称为Yahoo!CloudServingBenchmark),该性能测试工具由Java语言编写(在之前的MC文章中也提到过这个,如果没看过的读者可以去看看之前MC那一期),主要用于云端或者服务器端的数据库性能测试工具,其内部涵盖了常见的NoSQL数据库产品,如Cassandra、MongoDB、HBase、Redis等等......