婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 在sql中對兩列數據進行運算作為新的列操作

在sql中對兩列數據進行運算作為新的列操作

熱門標簽:芒果電話機器人自動化 廣東人工電話機器人 信陽穩定外呼系統運營商 湖南人工外呼系統多少錢 日照旅游地圖標注 石家莊電商外呼系統 申請外呼電話線路 南通自動外呼系統軟件 百度地圖圖標標注中心

如下所示:

select a1,a2,a1+a2 a,a1*a2 b,a1*1.0/a2 c from bb_sb

把a表的a1,a2列相加作為新列a,把a1,a2相乘作為新列b,注意:

相除的時候得進行類型轉換處理,否則結果為0.

select a.a1,b.b1,a.a1+b.b1 a from bb_sb a ,bb_cywzbrzb b

這是兩個不同表之間的列進行運算。

補充知識:Sql語句實現不同記錄同一屬性列的差值計算

所使用的表的具體結構如下圖所示

Table中主鍵是(plateNumber+currentTime)

要實現的查詢是:

給定車牌號和查詢的時間區間,查詢給定的時間區間內所包含記錄的currentTime的差值,并計算AverageSpeed和該差值的乘積,求這段時間內的最高速度(HighestSpeed),并按照type值得不同進行劃分。–>(type值只有0和1兩個值)

主要思路是,首先能夠得出的是相同type類型下同一個車牌號(也即同一車輛)在給定的時間區間內的currentTime的差值,比如按照currentTime排序號,相鄰兩條記錄currentTime的差值,得出這個以后,其余的都可以通過聚合函數得出。

我們以車牌號為京A111111為例,設計如下圖所示的測試用例。

可以看到車牌號為京A111111的車輛總共有6條記錄,其中type為0的有兩條,type為1的有4條,

我們首先計算時間的差值,sql語句書寫如下:

SELECT a.platenumber, 
  a.currenttime, 
  a.type, 
  a.averagespeed, 
  a.highestspeed, 
  currenttime - (SELECT currenttime 
      FROM carmultispeedinfo 
      WHERE platenumber = a.platenumber 
        AND type = a.type 
        AND currenttime  a.currenttime 
      ORDER BY currenttime DESC 
      LIMIT 1)AS timediff 
FROM carmultispeedinfo a 

通過navicat可以看到如下圖所示的查詢結果:

通過核查timediff的值是正確的,這樣之后就可以在這個基礎上添加內容了。

完整的sql語句如下:

SELECT Sum(aa.averagespeed * aa.timediff) AS milesdiff, 
  Max(aa.highestspeed)    AS HighestSpeed, 
  Sum(aa.timediff)     AS timediff, 
  aa.type 
FROM (SELECT a.platenumber, 
    a.currenttime, 
    a.type, 
    a.averagespeed, 
    a.highestspeed, 
    currenttime - (SELECT currenttime 
        FROM carmultispeedinfo 
        WHERE platenumber = a.platenumber 
          AND type = a.type 
          AND currenttime  a.currenttime 
        ORDER BY currenttime DESC 
        LIMIT 1) AS timediff 
  FROM carmultispeedinfo a)aa 
WHERE aa.platenumber = '京A111111' 
  AND aa.currenttime >= 1521790124670 
  AND aa.currenttime = 1521790125685 
GROUP BY aa.type 

顯示結果如下:

經過核對,是我們想要得出的結果。之后將sql對應替換到mybatis的mapper文件中就可以了。記錄一下,備忘>將來有更深入的理解之后會繼續更新,謝謝大家,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • mysql批量更新多條記錄的同一個字段為不同值的方法
  • MySQL根據某一個或者多個字段查找重復數據的sql語句
  • MySQL計算兩個日期相差的天數、月數、年數

標簽:阿里 惠州 呼和浩特 公主嶺 牡丹江 沈陽 天津 合肥

巨人網絡通訊聲明:本文標題《在sql中對兩列數據進行運算作為新的列操作》,本文關鍵詞  在,sql,中,對,兩列,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在sql中對兩列數據進行運算作為新的列操作》相關的同類信息!
  • 本頁收集關于在sql中對兩列數據進行運算作為新的列操作的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 石景山区| 芮城县| 赫章县| 文安县| 新龙县| 社会| 辰溪县| 乌什县| 深水埗区| 梓潼县| 洪湖市| 类乌齐县| 大荔县| 台中市| 阳信县| 阿克| 舟山市| 永康市| 沈丘县| 巴里| 轮台县| 德惠市| 庐江县| 海阳市| 上饶市| 溧水县| 山丹县| 宜春市| 黔南| 枝江市| 乐亭县| 元阳县| 江西省| 香港 | 石阡县| 砚山县| 中方县| 南雄市| 台江县| 治多县| 镇巴县|