gpt4 book ai didi

mysql - 使用 SQL 根据结果排序操作中的位置批量更新列?

转载 作者:行者123 更新时间:2023-11-29 07:08:03 25 4
gpt4 key购买 nike

今天早上我的大脑决定停止工作。我需要一个 MySQL 和 SQLite 兼容的查询,它允许我根据另一列的排序批量更新表的“display_order”列。

例如,假设我有以下字段:display_order、first_name、last_name、date_created。我想说“按 last_name 排序并将 display_order 更新为顺序”。

仅供引用,数据库比那些字段复杂得多,而且事情的设计非常糟糕,以至于复杂的即时排序需要几十年的时间。也就是说,我们需要提前获取给定报告、交易等的数据,以便直接“SELECT * FROM tbl ORDER BY display_order”起作用。

最好的。

最佳答案

下面是我想用表格标题的种类更新序列列时所做的。 (通常排序顺序由系列中的真实位置确定,但是一组“holder”杂项一次性演讲需要按标题排序,并且每次添加新演讲时都必须更新)。

UPDATE resource r
JOIN(
SELECT
resource.resource_key AS rkey,
@curRow := @curRow + 1 AS row_number
FROM
resource,
(SELECT @curRow := 0) rtemp
WHERE
grouping_key = 'MMMISC'
ORDER BY
resource.title
) c ON r.resource_key = c.rkey
SET r.group_sequence = c.row_number

this 致敬和 this启发答案...

附言我不知道它是否适用于 SQLite,但它适用于 MySQL...

关于mysql - 使用 SQL 根据结果排序操作中的位置批量更新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com