mysql 循環創建列_mysql – 查詢列中的循環值

我需要創建一個查詢,一次只將一列的值移動一行↑:

+------------+----------------+

| anotherCOL | values_to_loop |

+------------+----------------+

| 1 | 1 |

| 2 | 2 |

| 3 | 3 |

| 4 | 4 |

| 5 | 5 |

| 6 | 6 |

| 7 | 7 |

| 8 | 8 |

| 9 | 9 |

| 10 | 10 |

+------------+----------------+

所以,下次我運行查詢時,它應該是這樣的

+------------+----------------+

| anotherCOL | values_to_loop |

+------------+----------------+

| 1 | 2 |

| 2 | 3 |

| 3 | 4 |

| 4 | 5 |

| 5 | 6 |

| 6 | 7 |

| 7 | 8 |

| 8 | 9 |

| 9 | 10 |

| 10 | 1 |

+------------+----------------+

我需要循環只有一個MYSQL COLUMN的值,就像每次運行查詢時將值移動一個ROW UP↑一樣.

注意:提供的表只是說明性的,數據不同.

最佳答案 以下是在單個UPDATE查詢中執行此操作的方法:

UPDATE tbl a

INNER JOIN (

SELECT values_to_loop

FROM (SELECT * FROM tbl) c

ORDER BY anotherCOL

LIMIT 1

) b ON 1 = 1

SET a.values_to_loop =

IFNULL(

(SELECT values_to_loop

FROM (SELECT * FROM tbl) c

WHERE c.anotherCOL > a.anotherCOL

ORDER BY c.anotherCOL

LIMIT 1),

b.values_to_loop

)

它的工作原理如下:

>更新來自tbl的所有記錄

>使用臨時表連接以檢索values_to_loop的最高值(將返回到底部的值)

>將values_to_loop的新值設置為下一行的相應值(c.anotherCOL> a.anotherCOL … LIMIT 1)

筆記:

>即使anotherCOL中存在間隙(例如:1,2,3,6,9,15),這也有效

>需要使用(SELECT * FROM tbl)而不是tbl,因為您不允許使用您在更新查詢中更新的表

在anotherCOL中沒有間隙時更快查詢

如果anotherCOL中的值沒有間隙,您可以使用下面的查詢,如果您在anotherCOL上有索引,該查詢應該非常快:

UPDATE tbl a

LEFT JOIN tbl b on b.anotherCOL = a.anotherCOL + 1

LEFT JOIN (

SELECT values_to_loop

FROM tbl

WHERE anotherCOL = (select min(anotherCOL) from tbl)

) c ON 1 = 1

SET a.values_to_loop = ifnull(

b.values_to_loop,

c.values_to_loop

)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393418.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393418.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393418.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

因子個數與因子和

題目:LightOJ:1341 - Aladdin and the Flying Carpet(因子個數) Its said that Aladdin had to solve seven mysteries before getting the Magical Lamp which summons a powerful Genie. Here we are concerned about the first mystery. Aladdin was …

如何在JavaScript中直觀地設計狀態

by Shawn McKay肖恩麥凱(Shawn McKay) 如何在JavaScript中直觀地設計狀態 (How to visually design state in JavaScript) 使用狀態機和狀態圖開發應用程序的路線圖 (A roadmap for developing applications with state machines & statecharts) Why does state managemen…

SQL Server 2008 - Cannot set a credential for principal 'sa'.

很久沒有用到SQL Server了,今天有幸在幫同事解決一個SQL Server數據連接的問題時突然發現我無法修改我的sa用戶的密碼了。過程是這樣的:一開始我本地的數據庫實例是Windows認證方式,我想將它改成Windows和數據庫混合認證方式后用sa賬戶登錄&a…

leetcode50. Pow(x, n)(快速冪)

實現 pow(x, n) ,即計算 x 的 n 次冪函數。 示例 1: 輸入: 2.00000, 10 輸出: 1024.00000 代碼 class Solution {public double myPow(double x, int n) {long tn;return t>0?Pow(x,t):1/Pow(x,-t);//判斷冪指數}public double Pow(double x, long n) {if(n…

Java DES 加解密(DES/CBC/PKCS5Padding)

/*** DES加密** param data 加密數據* param key 密鑰* return 返回加密后的數據*/public static byte[] desEncrypt(byte[] data, String key, String charset) {try {Cipher cipher Cipher.getInstance("DES/CBC/PKCS5Padding");byte[] k charset null || char…

mysql 連接池 100_mysql的最大連接數默認是100_MySQL

mysql的最大連接數默認是100, 這個數值對于并發連接很多的數據庫應用是遠遠不夠的,可以把它適當調大,mysql的最大連接數默認是100, 這個數值對于并發連接很多的數據庫應用是遠遠不夠的,可以把它適當調大,whereis safe_mysqld找到s…

angular上傳圖片_如何使用Angular輕松上傳圖片

angular上傳圖片by Filip Jerga由Filip Jerga 如何使用Angular輕松上傳圖片 (How to make image upload easy with Angular) This is the second part of the tutorial on how to upload an image to Amazon S3. You can find the first part here. In this article, we will …

Java小知識-----Map 按Key排序和按Value排序

Map排序的方式有很多種&#xff0c;這里記錄下自己總結的兩種比較常用的方式&#xff1a;按鍵排序(sort by key)&#xff0c; 按值排序(sort by value)。 1、按鍵排序 jdk內置的java.util包下的TreeMap<K,V>既可滿足此類需求&#xff0c;向其構造方法 TreeMap(Comparator…

社區帖子全文搜索實戰(基于ElasticSearch)

要為社區APP的帖子提供全文搜索的功能&#xff0c;考察使用ElasticSearch實現此功能。 ES的安裝不再描述。 es集成中文分詞器(根據es版本選擇對應的插件版本)下載源碼&#xff1a;https://github.com/medcl/elasticsearch-analysis-ik  maven編譯得到&#xff1a;elasticsear…

Microsoft Deployment Toolkit 2010 新功能實戰之一

續Microsoft Deployment Toolkit 2010 Beta 2先睹為快&#xff01;下面將通過使用Microsoft Deployment Toolkit 2010來部署Windows 7來介紹它的新功能的具體操作。有些概念的理解和操作方法參見MDT2008部署之一概覽。 一、實驗環境操作全部在VMware Workstation的虛擬操作環境…

leetcode1482. 制作 m 束花所需的最少天數(二分法)

給你一個整數數組 bloomDay&#xff0c;以及兩個整數 m 和 k 。 現需要制作 m 束花。制作花束時&#xff0c;需要使用花園中 相鄰的 k 朵花 。 花園中有 n 朵花&#xff0c;第 i 朵花會在 bloomDay[i] 時盛開&#xff0c;恰好 可以用于 一束 花中。 請你返回從花園中摘 m 束…

sublime 消除鋸齒_如何在Sublime中消除麻煩

sublime 消除鋸齒by Abdul Kadir通過阿卜杜勒卡迪爾(Abdul Kadir) 如何在Sublime中消除麻煩 (How to lint away your troubles in Sublime) Sublime is a lightweight text editor and is quite popular among many web developers. Now I know there are many sophisticated …

node.js mysql防注入_避免Node.js中的命令行注入安全漏洞

在這篇文章中&#xff0c;我們將學習正確使用Node.js調用系統命令的方法&#xff0c;以避免常見的命令行注入漏洞。我們經常使用的調用命令的方法是最簡單的child_process.exec。它有很一個簡單的使用模式;通過傳入一段字符串命令&#xff0c;并把一個錯誤或命令處理結果回傳至…

Netbackup detected IBM drives as unusable

今天在遠程給客戶安裝NBU的時候&#xff0c;遇到了下面這個問題&#xff0c;下面的內容來至于SYMANTEC。 1&#xff0c;更新mapping文件 在原來也遇到過類型的故障&#xff0c;通過更新mapping文件后&#xff0c;故障解決&#xff0c;這次沒有那么幸運了。 2&#xff0c;lsscsi…

opencv python運動人體檢測

采用非極大值抑制&#xff0c;將重疊的框合并成一個。 # import the necessary packages from imutils.object_detection import non_max_suppression import numpy as np import imutils import cv2# initialize the HOG descriptor/person detector hog cv2.HOGDescriptor()…

php mysql 注入一句話木馬_滲透技術--SQL注入寫一句話木馬原理

講一下SQL注入中寫一句話拿webshell的原理&#xff0c;主要使用的是 SELECT ... INTO OUTFILE 這個語句&#xff0c;下面是一個語句的例子:SELECT * INTO OUTFILE C:\log1.txt這樣就可以把查詢到的數據寫入到C盤的log1.txt這個文件里面。利用這個原理我們可以把PHP的一句話木馬…

開源貢獻 計算_使用此網站為開源做貢獻

開源貢獻 計算When I began the transition into being a software developer, I knew that contributing to open source projects would greatly assist my job search.當我開始過渡為軟件開發人員時&#xff0c;我知道為開源項目做貢獻將極大地幫助我的求職。 So, I jumped…

leetcode275. H指數 II(二分法)

給定一位研究者論文被引用次數的數組&#xff08;被引用次數是非負整數&#xff09;&#xff0c;數組已經按照升序排列。編寫一個方法&#xff0c;計算出研究者的 h 指數。 h 指數的定義: “h 代表“高引用次數”&#xff08;high citations&#xff09;&#xff0c;一名科研人…

java 多線程阻塞隊列 與 阻塞方法與和非阻塞方法

Queue是什么隊列&#xff0c;是一種數據結構。除了優先級隊列和LIFO隊列外&#xff0c;隊列都是以FIFO&#xff08;先進先出&#xff09;的方式對各個元素進行排序的。無論使用哪種排序方式&#xff0c;隊列的頭都是調用remove()或poll()移除元素的。在FIFO隊列中&#xff0c;所…

批量移動AD用戶到指定OU

作為域管理員&#xff0c;在日常工作中使用ADUC&#xff08;AD用戶和計算機&#xff09;工具在圖形界面中進行賬號管理操作可謂是家常便飯了。然而一個個增加、移動、刪除用戶&#xff0c;這樣操作有時真的夠煩&#xff0c;當管理大批量的賬戶時&#xff0c;重復操作浪費的時間…