成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

SQL如何實(shí)現(xiàn)動態(tài)的行列轉(zhuǎn)置

Oracle 和新版 MySQL 里有 pivot 實(shí)現(xiàn)行列轉(zhuǎn)置,但實(shí)際處理數(shù)據(jù)時,會碰到一些更復(fù)雜的轉(zhuǎn)置情況,pivot 也搞不定,比如:

創(chuàng)新互聯(lián)主營神農(nóng)架林區(qū)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,神農(nóng)架林區(qū)h5小程序定制開發(fā)搭建,神農(nóng)架林區(qū)網(wǎng)站營銷推廣歡迎神農(nóng)架林區(qū)等地區(qū)企業(yè)咨詢

SQL 如何實(shí)現(xiàn)動態(tài)的行列轉(zhuǎn)置

想轉(zhuǎn)置成:

SQL 如何實(shí)現(xiàn)動態(tài)的行列轉(zhuǎn)置

這個難點(diǎn)在于事先不知道有多少種收入來源,而且每個人的收入來源種類各不相同。先得計算出種類個數(shù),根據(jù)個數(shù)動態(tài)生成表結(jié)構(gòu),然后按照順序填充每個人的多個收入數(shù)據(jù)。

SQL 的計算過程不提倡分步,對集合操作支持的也不徹底,很難應(yīng)付這種多步驟復(fù)雜計算。

如果用集算器的 SPL 語言來處理,就能輕松實(shí)現(xiàn):


A B
1 =connect("db") =A1.query("select * from Income")
2 =B1.group(Name) =A2.max(~.len())
3 =create(Name,${B2.("Source"+string(~)+",Income"+string(~)).concat@c()})
4 for A2 =A4.Name|A4.conj([Source,Income])
5
>A3.record(B4)

A3 格子根據(jù)原始數(shù)據(jù)得到期望數(shù)據(jù)結(jié)構(gòu)的空表;B4 格子得到每個人要填充入空表的數(shù)據(jù)。

如果不用復(fù)雜計算得到結(jié)果列,只是根據(jù)某個字段值動態(tài)生成列,直接用 pivot 函數(shù)就可以;具體的列都不用指定,根據(jù)字段值自動生成:
=connect(”mysqlDB”).query(“select * from t”).pivot(g1;g2,f)。

除了動態(tài)行列轉(zhuǎn)置,還有雙向轉(zhuǎn)置、轉(zhuǎn)置同時存在列間運(yùn)算等復(fù)雜轉(zhuǎn)置需求,這些計算用 SPL 都容易編寫出來,參考 《轉(zhuǎn)置》。

集算器 SPL 是解決 SQL 難題的專業(yè)腳本語言,它語法簡單,符合自然思維,是天然分步、層次清晰的面向過程計算語言。它采用與數(shù)據(jù)庫無關(guān)的統(tǒng)一語法,編寫的算法可在數(shù)據(jù)庫間無縫遷移。它是桌面級計算工具,即裝即用,配置簡單,調(diào)試功能完善,可設(shè)置斷點(diǎn)、單步執(zhí)行,每步執(zhí)行結(jié)果都可查看。請參閱 SQL 解題手

當(dāng)數(shù)據(jù)不在數(shù)據(jù)庫里時,SPL 執(zhí)行復(fù)雜計算仍然方便:
=file(“d:/t.csv”).import(;,",").pivot...

SPL能很方便地嵌入到JAVA應(yīng)用,可參考 《Java 如何調(diào)用 SPL 腳本》。

具體使用方法可參考  《如何使用集算器》。

當(dāng)前題目:SQL如何實(shí)現(xiàn)動態(tài)的行列轉(zhuǎn)置
URL網(wǎng)址:http://jinyejixie.com/article8/iiedop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版微信小程序、電子商務(wù)、App開發(fā)、云服務(wù)器、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
义马市| 华宁县| 哈尔滨市| 定兴县| 龙陵县| 商丘市| 自贡市| 景宁| 辽阳市| 临城县| 鸡西市| 宝山区| 连江县| 红桥区| 霍城县| 资阳市| 郎溪县| 阜康市| 连州市| 盖州市| 株洲市| 绍兴市| 富民县| 渑池县| 伽师县| 铅山县| 郴州市| 迁西县| 济源市| 榕江县| 柯坪县| 卢龙县| 新巴尔虎右旗| 台江县| 墨江| 金乡县| 区。| 南投市| 南皮县| 木兰县| 南京市|