關於數字的經典SQL程式設計:連續範圍問題
【IT168 技術】連續範圍問題也是一個非常經典的SQL程式設計問題。為了使講解易於理解,我們先來建立一些測試資料。
#div_code img{border:0px;}<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->CREATE TABLE t ( a INT UNSIGNED NOT NULL PRIMARY KEY );
INSERT INTO t VALUES(1);
INSERT INTO t VALUES(2);
INSERT INTO t VALUES(3);
INSERT INTO t VALUES(100);
INSERT INTO t VALUES(101);
INSERT INTO t VALUES(103);
INSERT INTO t VALUES(104);
INSERT INTO t VALUES(105);
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->CREATE TABLE t ( a INT UNSIGNED NOT NULL PRIMARY KEY );
INSERT INTO t VALUES(1);
INSERT INTO t VALUES(2);
INSERT INTO t VALUES(3);
INSERT INTO t VALUES(100);
INSERT INTO t VALUES(101);
INSERT INTO t VALUES(103);
INSERT INTO t VALUES(104);
INSERT INTO t VALUES(105);
可以看到1~3是連續的,100~101是連續的,103~105是連續的,那麼怎麼能得到如下表所示的結果呢?
我們來看下面這句SQL語句及其返回的結果集。
#div_code img{border:0px;}<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysql> SELECT a,@a:=@a+1 rn FROM t,(SELECT @a:=0) AS a;
+-----+------+
| a | rn |
+-----+------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 100 | 4 |
| 101 | 5 |
| 103 | 6 |
| 104 | 7 |
| 105 | 8 |
+-----+------+
8 rows in set (0.00 sec)
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysql> SELECT a,@a:=@a+1 rn FROM t,(SELECT @a:=0) AS a;
+-----+------+
| a | rn |
+-----+------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 100 | 4 |
| 101 | 5 |
| 103 | 6 |
| 104 | 7 |
| 105 | 8 |
+-----+------+
8 rows in set (0.00 sec)
相關文章
- MySQL連續範圍問題MySql
- 四個經典的SQL程式設計問題SQL程式設計
- sql關於連續日期的統計報表問題SQL
- SQL根據分組求連續範圍SQL
- 實體店是否屬於數字化智慧經營的適用範圍?
- FPGA數字訊號處理(25)數字相關器設計(經典結構)FPGA
- 智力題(程式設計師面試經典)程式設計師面試
- SQL language裡面的經典問題SQL
- C++的程式設計典範 (轉)C++程式設計
- 程式設計藝術家經典試題解讀:猜生日問題程式設計
- Java程式設計師面試時應注意的三個經典問題!Java程式設計師面試
- MySQL 缺失範圍問題MySql
- 如何在Mac上設定系統範圍的字數統計服務Mac
- 《Cracking the Coding Interview程式設計師面試金典》----最大連續數列和View程式設計師面試
- 經典程式設計引言程式設計
- 50道經典的JAVA程式設計題(目錄)Java程式設計
- 一個經典程式設計面試題的“隱退”程式設計面試題
- 演算法程式設計之美連續數之和等於某個數演算法程式設計
- 關於聯合索引,範圍查詢,時間列索引的幾個問題索引
- [併發程式設計]-關於 CAS 的幾個問題程式設計
- 關於PHP程式設計師解決問題的能力PHP程式設計師
- MySQL 間斷範圍問題MySql
- JavaScript閉包與變數的經典問題JavaScript變數
- 筆試程式碼題--搜狗--汪仔做對的題數範圍筆試
- JavaScript函數語言程式設計入門經典JavaScript函數程式設計
- 關於java安全性程式設計問題求助!!!Java程式設計
- 關於SLG中人物可到達範圍計算的想法(轉)
- 【PL/SQL】向表中插入連續數字之PL/SQL方法SQL
- 關於mysql連線的問題MySql
- 關於連線池的問題!
- 關於Java編碼規範的問題Java
- 程式設計師C語言經典筆試題程式設計師C語言筆試
- 關於考勤模組中設計的問題
- Python經典程式設計習題100例:第19例:找完數Python程式設計
- 關於詳細設計/程式碼的同步問題--請教
- 關於環境變數設定的問題變數
- SQL經典五十道題SQL
- 經典SQL面試題1SQL面試題