MySQL SQL實現上下行相加減
測試用表:
隨意加入測試資料:
目的:
row2-row1
row3-row2
row4-row3 以此類推,輸出。
先做個自連線,連線條件為id1=id2+1,讓id1正好為id2的下一個自增。
因為id1為id2的下一個自增,故value1-value2相減為最後的結果。
將上述的自連線結果集寫作臨時表,讓value1與value2相減得到最後的結果:
3、1、4即為 5-2、6-4、10-6。
同理可得上下行相加。
作者微信公眾號(持續更新)
- CREATE TABLE `test` (
- `id` int(11) NOT NULL auto_increment,
- `value` int(11) default NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8
隨意加入測試資料:
- mysql> SELECT * FROM test;
- +------+-------+
- | id | value |
- +------+-------+
- | 1 | 2 |
- | 2 | 5 |
- | 3 | 6 |
- | 4 | 10 |
- +------+-------+
目的:
row2-row1
row3-row2
row4-row3 以此類推,輸出。
先做個自連線,連線條件為id1=id2+1,讓id1正好為id2的下一個自增。
- mysql> SELECT a.id id1, b.id id2, a.value value1, b.value value22
- -> FROM test a JOIN test b ON a.id = b.id + 1;
- +------+------+--------+---------+
- | id1 | id2 | value1 | value2 |
- +------+------+--------+---------+
- | 2 | 1 | 5 | 2 |
- | 3 | 2 | 6 | 5 |
- | 4 | 3 | 10 | 6 |
- +------+------+--------+---------+
-
3 rows in set (0.00 sec)
將上述的自連線結果集寫作臨時表,讓value1與value2相減得到最後的結果:
- mysql> SELECT value1 - value2 RESULT
- -> FROM (
- -> SELECT a.value value1, b.value value2
- -> FROM test a JOIN test b ON a.id = b.id + 1
- -> ) t;
- +--------+
- | RESULT |
- +--------+
- | 3 |
- | 1 |
- | 4 |
- +--------+
- 3 rows in set (0.00 sec)
3、1、4即為 5-2、6-4、10-6。
同理可得上下行相加。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-2059152/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rlwrap實現鍵盤上下箭頭,調出歷史執行的SQL命令SQL
- 【Util】java處理日期時間相加減大全Java
- MYSQL SQL程式設計實現MySql程式設計
- sql實現行轉列SQL
- 漫畫:如何實現大整數相加?
- flask 上下文的實現Flask
- 7.實現加減
- jquery實現上下滑動選擇jQuery
- 【原】兩個時間相加的運算子過載實現
- 【jquery】實現購物車加減jQuery
- 位運算實現加減乘除
- PostgreSQL、Oracle/MySQL和SQL Server的MVCC實現原理方式OracleMySqlServerMVC
- 題目:2.兩數相加 解題思路及Java實現Java
- 使用純粹的ABAP位操作實現兩個整數相加
- css實現新聞公告上下翻滾效果CSS
- css border實現上下左右箭頭效果CSS
- CSS如何實現圖片上下垂直居中CSS
- 高精度減法(C語言實現)C語言
- Rust能實現碳減排嗎? - theregisterRust
- Struts框架 實現複數加減操作框架
- 不用加減乘除做加法(Java實現)Java
- sql mysql 執行順序 (4)MySql
- golang使用go-sql-driver實現mysql增刪改操作GolangMySql
- 程式設計方式實現MySQL批量匯入sql檔案程式設計MySql
- 亂彈運用Direct技術進行影像裁減的實現(下)(轉)
- 用連結串列的方式實現大數相減-Java實現Java
- 執行上下文
- js實現圖片上下滾動background-positionJS
- 滑鼠懸浮元素上下滑動增加或者減少高度效果
- c#實現用SQL池(多執行緒),定時批量執行SQL語句 (轉)C#SQL執行緒
- Verilog實現加減乘除運算
- pandas 實現兩個dataframe相減的方式
- awk+uniq實現集合減法運算
- mysql執行sql語句過程MySql
- mysql的sql語句執行流程MySql
- mysql實戰--MYSQL中的SQL分組方法MySql
- mysql實現sequenceMySql
- MySql序列實現MySql