在 MySQL 中建立整數序列
建立從 n 到 m 的簡單整數序列可能是資料庫操作中的常見要求。要在 MySQL 中實現此目的,經常建議的方法是使用遞歸公用表表達式 (CTE)。
其中一種方法是將遞歸CTE 與現有表合併:
WITH RECURSIVE Numbers AS ( SELECT n, n + 1 AS next_n FROM Numbers WHERE n < m UNION SELECT m, NULL ) SELECT n FROM Numbers ORDER BY n;
In在本範例中,Numbers CTE 被定義為透過迭代地將前一個值加1 直到達到指定的最大值m 來產生整數序列。然後,查詢使用此 CTE 對產生的序列進行選擇和排序。
參考問題中建議的另一種方法是使用帶有使用者定義變數的單一查詢:
SET @row := 0; SELECT @row := @row + 1 AS row, t.* FROM some_table t, (SELECT @row := 0) r;
該方法將@row變數初始化為0,並為結果集中的每一行將其加1。雖然這種方法在某些情況下可能更簡單,但它依賴並非所有 MySQL 版本或上下文都支援的使用者定義變數。
以上是如何在 MySQL 中產生整數序列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!