略微复杂的sql逻辑(从数据库逆序查找有限条记录(limit))并按相反顺序输出

项目中有一个业务需求是:默认载入15条历史记录(按时间顺序从早到晚)。

以下是我构造的sql逻辑,mark一下,亲測可行。

SELECT * FROM (SELECT *FROM group_chatmsg_v
		WHERE ((group_Id=46 AND send_user_id=28 AND receive_user_id=70)
		OR (group_Id=46 AND receive_user_id=28 AND STATUS=1))
		AND is_delete =0
		ORDER BY crtime DESC LIMIT 15)
		AS chatMsgTable
		ORDER BY crtime ASC
时间: 2024-10-31 15:12:18

略微复杂的sql逻辑(从数据库逆序查找有限条记录(limit))并按相反顺序输出的相关文章

稍微复杂的sql逻辑(从数据库逆序查找有限条记录(limit))并按相反顺序输出

项目中有一个业务需求是:默认加载15条历史记录(按时间顺序从早到晚). 下面是我构造的sql逻辑,mark一下,亲测可行. SELECT * FROM (SELECT *FROM group_chatmsg_v WHERE ((group_Id=46 AND send_user_id=28 AND receive_user_id=70) OR (group_Id=46 AND receive_user_id=28 AND STATUS=1)) AND is_delete =0 ORDER BY

保留mysql数据库中的最新1000条记录

<?php mysql_connect("localhost","root","root");mysql_select_db("test");//保留最新的1000条记录$limit=1000;$query="select `id` from `news`";$result=mysql_query($query);$num=mysql_num_rows($result);if($num>$lim

SQL中显示查询结果的前几条记录

在使用数据库查询语句的过程中,我们经常需要返回查询结果的前几条或者中间几条数据,下面是我总结的几种数据库常用的方法:(table是数据库表名,table2是table表的别名) 1.SQLServer sqlserver支持top关键字,返回前若干条数据.select top 5 * from table;// 返回前5行数据 2.MySQL mysql支持limit,只能适用于mysql.limit子句用于强制select语句返回置顶的记录数,接受一个或两个数字参数,必须是整数常量.一个参数是

几种数据库如何读取前N条记录

1. ORACLE Select * FROM TABLE1 Where ROWNUM<=N 2. INFORMIX Select FIRST N * FROM TABLE1 where 1=1 3. MYSQL Select * FROM TABLE1 where 1=1 LIMIT N 4. DB2 Select * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM Where ROWNUM<=N 或者 Select COLUMN FROM T

TODO:从数据库中随机抽取一条记录

1.最直接,最粗暴的方法先计算记录的总数,然后选择一个从0到记录总数之间的随机数n,利用skip跳过n条记录,这是效率低下的的方法,首先的记录总数,在用skip会很耗时间: 2.那么有什么办法能够提供效率呢,方法就是给每条记录添加一个0-1的随机因子random. "random" : 0.5127909016609585 想要在记录中查找一个随机记录,只要计算出一个随机数并作为查询条件就好了 Result = db.getCollection('qq').findOne({"

删除oracle 表中重复数据sql语句、保留rowid最小的一条记录

delete from tablename a where rowid > ( select min(rowid) from table_name b where b.id = a.id and b.name=a.name);

使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g

ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracle SQL Developer is a free and fully supported graphical tool for database development. With SQL Developer, you can browse database objects, run SQL st

在MySQL数据库里用一个SQL语句取得本条记录及其上一条和下一条记录

在做文章页面时,有时候需要在文章下面显示出上一条和下一条记录.如果简单地使用id值加1和减1的方法来做会有缺陷. 各位看官请试想,如果我们删除了中间的某一条和某几条记录呢?那不是取不出来了? 所以,思想是很重要的,嗯.举个例子吧,比如说我有一个名叫XXX的表,里面有唯一的id字段.然后,里面有N条数据呢~~~ 现 在,我们来看看我们的思维.我们是要根据已知ID来找上一条和下一条的,也就是在数据库里相邻的三条记录, 中间那一条是确定的.那既然ID有可能不连续, 那我们就用>和<运算符来吧(要是L

Oracle - SQL语句实现数据库快速检索

SQL语句实现数据库快速检索 有时候在数据库Debug过程中,需要快速查找某个关键字. 1:使用PLSQL Dev自带的查找数据库对象,进行对象查找 缺点:查找慢.耗时. 2:使用SQL语句对数据库对象进行查找 查找数据库一般对象 1 SELECT * FROM DBA_SOURCE T WHERE UPPER(T.TEXT) LIKE '%关键字%' 查找数据库脚本 1 SELECT * FROM DBA_JOBS T WHERE UPPER(T.WHAT) LIKE '%关键字%'; 原文地