軟體開發高手須掌握的4大SQL精髓語句(一)

2021-09-30 15:29:50 字數 3978 閱讀 5165

軟體開發高手須掌握的4大sql精髓語句(一)

馬根峰( 廣東聯合電子收費股份****, 廣州 510300)

作者部落格:

csdn部落格:

qq空間:

0

引言隨著計算機在社會各領域應用的深入,軟體開發人員不得不面臨著或多或少的資料處理、資料庫訪問。

在sql(structured query language)語言dml中,有四大語句堪稱其精髓部分。下面就講述一下其中之一, case when 語句的用法。本文介紹用它實現資料倉儲中的維度轉換,來將資料展現給分析人員來進行決策支援與分析。

case whenconition

then 。。。

else。。。

end

1

資料倉儲中的維度轉換

在資料倉儲資料展現中,我們通常要用到將資料表進行維度轉換。如資料倉儲中某一關係模式

vehsm (roadno, year , fluxcount,。。。)

vehcount_trans (roadno, year fluxcount 1, .。。。, year fluxcount n)

下面筆者就分別以case when語句、brioquery來分別演示一下如何實現維度轉換。

2

case when

語句來實現

維度轉換

下面就以db2資料庫為例,以「萬能資料庫查詢分析器」 中文版本《db 查詢分析器》、英文版本《db query analyzer》作為客戶端工具來來演示一下case when 語句如何實現維度轉換。

select

uu.roadno,rr.roadname,

sum(

case

when

uu.year

=2009

then

uu.fluxcount

else

0end)as

year_2009,

sum(

case

when

uu.year

=2010

then

uu.fluxcount

else

0end)as

year_2010,

sum(

case

when

uu.year

=2011

then

uu.fluxcount

else

0end)as

year_2011

from (

select

roadno,

year

(squaddate)

asyear

,sum

(fluxcount)

asfluxcount

from

tb_adfluxcolt

where

squaddate

between

'2009-01-01'

and'2011-12-31'

andoiflag=0

group

byroadno,

year

(squaddate)

) uu,(

select

distinct

roadno,roadname

from

tb_road

where

status

=0and

level

in(0,1)

androadname

notlike

'%南部快速

圖1db 查詢分析器中輸入要執行的case when語句

圖2db 查詢分析器執行case when語句

圖3db query analyzer 中輸入要執行的case when語句

圖4db query analyzer 執行case when語句

3

brioquery

來實現維度轉換

在資料倉儲工具中,brioquery提供了比較強大的資料展現功能,能方便地實現上面的維度轉換。

圖5brioquery資料表 vehsm

圖6brioquery執行查詢後的結果

圖7brioquery維度轉換後的結果

但對於大資料量表的維度轉換來說,則幾乎無法完成,筆者在中文核心刊物《電信科學》2023年11期《廣東電信公話200專用話機話務動態分析系統的構建》文章中,詳細地介紹了「廣東電信公話200專用話機話務動態分析系統」中是如何實現這一點的,這個話務動態系統是自己以前在廣東省電信****工作的時候獨自開發的,有興趣的話,可以看

本人的csdn部落格的博文:

「廣東電信公話200專用話機話務動態分析系統的構建」

/article/details/

7691403

軟體開發高手須掌握的4大sql精髓語句系列:

軟體開發高手須掌握的4大sql精髓語句(四)

/article/details/8050612

軟體開發高手須掌握的4大sql精髓語句(三)

/article/details/8015093

軟體開發高手須掌握的4大sql精髓語句(二)

/article/details/8003558

軟體開發高手須掌握的4大sql精髓語句(一)

/article/details/7969385

/article/details/7192368

《db 查詢分析器》使用技巧 系列:

《db 查詢分析器》使用技巧之(一)

/article/details/7189174

《db 查詢分析器》使用技巧之(二)

/article/details/7189176

《db 查詢分析器》使用技巧之(三)

/article/details/7192402

《db 查詢分析器》使用技巧之(四)

/article/details/7195059

《db 查詢分析器》使用技巧之(五)

/article/details/7196846

《db 查詢分析器》使用技巧之(六)

/article/details/7164432

《db 查詢分析器》使用技巧之(七)

/article/details/7197934

軟體開發高手必須掌握的4大SQL精髓語句(一)

軟體開發高手必須掌握的4大sql精髓語句 一 馬根峰 廣東聯合電子收費股份 廣州 510300 作者部落格 csdn部落格 qq空間 0 引言隨著計算機在社會各領域應用的深入,軟體開發人員不得不面臨著或多或少的資料處理 資料庫訪問。在sql structured query language 語言d...

掌握軟體開發的第一性原理

構建自己的技術知識體系很重要。下述情況存在 乙個程式設計師在剛掌握某乙個技術後,又出現乙個新的技術,還得再次費大力氣學習。但是如果擁有了自己的技術體系,那麼在面對乙個新技術時,就會更容易地掌握它。我們需要知道每乙個基礎技術方向中的最關鍵的技術原理,明白這些原理是如何和我們的日常開發工作發生關係的。比...

軟體開發的六大階段

第一階段 調研階段 本階段我們將組成企業專案調研組到企業進行現場調研,企業也部分需組織相應人員進行配合。整個調研工作將歷時三星期到乙個月左右時間。調研內容按以下方面進行。1 公司整體情況調研 目的 對企業的業務狀況,組織結構,企業文化,發展戰略進行仔細了解,從整體上對企業進行把握。2 oa系統調研 ...