sql查询基于排序顺序对数据进行重新排序

时间:2018-06-27 08:30:04

标签: mysql sql

tablename =  zones

  ID     sort_order  area_name
======== =========   =========
  1        1          aaaa
  3        2          bbbb
  5        3          cccc
  7        4          dddd
  8        5          eeeee

我需要添加一个新的area_name

例如:ffff代替sort_order = 3。

并如下所示重新排列其余区域的排序顺序

  ID     sort_order  area_name
======== =========   =========
  1        1          aaaa
  3        2          bbbb
  9        3          ffff
  5        4          cccc
  7        5          dddd
  8        6          eeeee

对此需要sql查询

2 个答案:

答案 0 :(得分:1)

使用SET !FOLDER_DATASOURCE C:\Users\%username%\Arquivos<SP>Extratos<SP>Bancos\WAS\dates.csv SET !LOOP 1 SET !DATASOURCE_LINE {{!LOOP}} UPDATE。我假设INSERT是自动生成的。 IDUPDATE序列中的新记录腾出空间,然后您可以轻松地插入。

sort_order

但是,如果 UPDATE zones SET sort_order = sort_order + 1 WHERE sort_order >= 3 INSERT INTO zones(sort_order , area_name) VALUES (3, 'ffff') 表被大量插入,那么您将遇到很多阻塞等待。

答案 1 :(得分:1)

您需要执行2个查询。.首先,您更新现有条目的{{#each data}} <div class="col"> <div class="card demo-card-header-pic"> <a href="/page2/{{id}}">{{name}}</a> </div> </div> {{/each}} 并在其后插入新条目:

sort_orders