佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > SQL實現(xiàn)相鄰兩行數(shù)據(jù)的加減乘除操作

SQL實現(xiàn)相鄰兩行數(shù)據(jù)的加減乘除操作

熱門標簽:地方門戶網(wǎng)站 Linux服務器 AI電銷 網(wǎng)站排名優(yōu)化 百度競價排名 服務外包 鐵路電話系統(tǒng) 呼叫中心市場需求

SQL實現(xiàn)表里數(shù)據(jù)按一定順序排序后,按某幾個字段分組后相鄰兩行數(shù)據(jù)實現(xiàn)加減乘除運算。

思路:

1:先把表數(shù)據(jù)分組排序后打上序號標簽

2:根據(jù)需求把標簽字段加/減一

上代碼:

select distinct a.phone,from_unixtime(cast(floor(a.ts/1000) as bigint),'yyyyMMdd HH:mm:ss'),cha
from table a
join 
(
 select a.phone,a.ts,abs(a.ts-b.ts)/1000 cha
 from (select phone,ts,row_number() over(partition by phone order by ts ) rank from table) a
 left join
 ( select phone,ts,rank-1 as rank from (select phone,ts,row_number() over(partition by phone order by ts ) rank from table) a ) b
 on a.phone = b.phone and a.rank = b.rank
) b
on a.phone = b.phone and a.ts = b.ts
where a.phone is not null and a.phone>'';

表數(shù)據(jù)如圖:

第一列為phone,第二列為時間ts,要求算出相同phone的每兩條相鄰數(shù)據(jù)所花費的時間

結果如圖:

第三列的單位是秒

補充知識:SQL實現(xiàn)當前行等于前面兩行數(shù)據(jù)之和

sql實現(xiàn)類似斐波那契數(shù)列的功能,即當前數(shù)據(jù)等于前面兩個數(shù)據(jù)之和,詳看本文例子

原表:

sql語句(此處要熟悉JION ON的用法)

結果

以上這篇SQL實現(xiàn)相鄰兩行數(shù)據(jù)的加減乘除操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • MySql分組后隨機獲取每組一條數(shù)據(jù)的操作
  • 在SQL中對同一個字段不同值,進行數(shù)據(jù)統(tǒng)計操作
  • 在sql中對兩列數(shù)據(jù)進行運算作為新的列操作
  • MySQL基于group_concat()函數(shù)合并多行數(shù)據(jù)
  • MySQL刪除數(shù)據(jù),表文件大小依然沒變的原因

標簽:崇左 仙桃 湖南 蘭州 湘潭 黃山 衡水 銅川

巨人網(wǎng)絡通訊聲明:本文標題《SQL實現(xiàn)相鄰兩行數(shù)據(jù)的加減乘除操作》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    奈曼旗| 拉孜县| 英吉沙县| 阳新县| 那曲县| 启东市| 和林格尔县| 石泉县| 金寨县| 潞西市| 樟树市| 徐汇区| 鹤峰县| 赤壁市| 马鞍山市| 丹阳市| 玉林市| 淮滨县| 唐河县| 芒康县| 四川省| 临清市| 台江县| 新巴尔虎右旗| 合阳县| 信阳市| 蓬安县| 德令哈市| 昭苏县| 黑水县| 高州市| 游戏| 罗平县| 台东市| 北票市| 北安市| 乐山市| 庄河市| 勐海县| 缙云县| 巴楚县|