advert表2个字段id和orders,id是惟一的,orders是非0整数,orders不允许重复
例如以下测试数据:
id orders
3061
2752
2763
2864
2945
2926
2847
2858
2739
31410
现在要对orders排序,比如:
一、id=276,orders=3升序
update advert set orders = orders + 1 where orders < 3 and orders >= (3 - 1);
update advert set orders = orders - 1 where id = 276;
二、id=276,orders=3降序
update advert set orders = orders - 1 where orders > 3 and orders <= (3 + 1);
update advert set orders = orders + 1 where id = 276;
三、id=276,orders=3放首位
update advert set orders = orders + 1 where orders < 3;
update advert set orders = 1 where id = 276;
四、id=276,orders=3放末尾
select max(orders) as max_orders from advert;
update advert set orders = orders - 1 where orders > 3;
update advert set orders = max_orders where id = 276;
每一个需求都要多条sql语句才能执行,目前正在通过存储过程实现。
相关推荐
几种mysql利用sql语句进行距离排序的方法,亲测可用,大家可放心研究
以下是一个关于如何在MySQL排序中使用`CASE WHEN`方法的详细说明。 ### 1. `CASE WHEN` 基本语法 `CASE WHEN` 的基本语法如下: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ...
MySQL排序原理与案例分析 排序是数据库操作中的关键部分,MySQL提供了多种方法来处理排序需求。用户通常通过`ORDER BY`语句实现结果集的排序,但`GROUP BY`和`DISTINCT`语句也会隐含地进行排序。了解如何优化排序...
代码如下: select areaName from area order by convert(areaName USING gbk) COLLATE gbk_... 您可能感兴趣的文章:mysql的中文数据按拼音排序的2个方法mysql如何按照中文排序解决方案MySQL按照汉字的拼音排序简单实例
### MySQL之聚合查询、分组和排序 #### 聚合查询、分组与排序概述 聚合查询、分组和排序是关系型数据库系统中重要的数据处理方式之一,尤其是在MySQL这样的流行数据库管理系统中更是如此。这些操作可以帮助用户从...
SELECT 列名1,列名2,列名n FROM 表名 [WHERE] ORDER BY 排序条件1,表达式,别名 案例: # 按照学生成绩进行排序,从高到低。 SELECT * FROM Student ORDER BY score DESC; # 按照学生成绩进行排序,从低到高(默认是...
MySQL排序和获取排名是数据库操作中的常见需求,特别是在数据分析和报表生成时。在这个实例中,我们将探讨如何在MySQL中实现这个功能,以便更好地理解和应用。 首先,我们来看第一个实例代码: ```sql SELECT @i:=...
这是我自己学习mysql时的学习笔记,每一个知识点都是自己动手写的,涵盖了mysql中的几乎全部的基础知识点,查询,子查询,分组,排序,常用函数,多表连接,视图,变量,存储过程,函数,分支结构,循环结构等等
│ 3_MySQL排序规则权重.mp4 │ 4_MySQL字符集空间消耗.mp4 │ 5_MySQL表分区介绍和优势.mp4 │ 6_MySQL表分区类型.mp4 │ 7_MySQL字表分区和NULL值特殊处理.mp4 │ 8_MySQL表分区管理.mp4 │ 作业.docx │ 作业及...
我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 ...
项目开发中列表展示页面涉及到一些条目的上下移动 ,由于数据量大时,服务端代码比较耗时, 所以我使用mysql 存储过程完成上下移动,比较通用方法,欢迎大家下载学习,共同进步
MySQL索引在数据库管理系统中扮演着至关重要的角色,它们能够显著提升查询和排序操作的效率。在本实例分析中,我们将深入探讨MySQL索引如何影响排序速度,通过具体的操作步骤和测试来展示其效果。 首先,创建一个名...
在使用Hibernate进行数据库操作时,可能会遇到MySQL数据库中文排序不正确的问题。这通常是由于字符集设置、数据库排序规则以及Hibernate的配置等因素导致的。本文将深入探讨如何解决这些问题,确保MySQL数据库中的...
**MySQL排序的必要性:** 1. **利用索引** - MySQL已有针对排序的索引,直接排序效率高。 2. **大数据量子集** - 如从百万行数据中取前10条,MySQL的索引加速效果显著。 3. **统计与聚合** - 一次性排序,多次调用,...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,其在各种规模的企业和项目中都有广泛的应用。以下是一些关于MySQL的面试题目及其解析,涵盖了基础概念、数据类型、存储引擎、事务处理等多个方面。 1. 关于ID...
### MySQL介绍与性能优化 #### MySQL基本介绍 MySQL是一个开源的关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发。自1995年第一个公开版本发布以来,MySQL因其小巧、高效、成本低廉以及开放源代码的特性...
本文首先会简单介绍SQL如何利用索引避免排序代价,然后会介绍MySQL实现排序的内部原理,并介绍与排序相关的参数,最后会给出几个“奇怪”排序例子,来谈谈排序一致性问题,并说明产生现象的本质原因。 1.排序优化与...