2015第15週日PostgreSQL學習

2021-09-06 22:24:32 字數 1677 閱讀 6578

上面顯示的最新版本資訊是postgresql 9.4.1, 9.3.6, 9.2.10, 9.1.15 & 9.0.19 released!

顯示2014/12/18: 全球開發組宣布業界領先的開源關聯式資料庫postgresql9.4版發布,這個版本新增了許多的功能,來適應不同的資料庫使用者靈活性、可伸縮性和效能提公升的要求,包括對json 資料的支援改進,增強了複製和索引的效能

有三個主要方面可以提公升postgresql的潛能。

相比mysql,postgresql並沒有什麼剛性的缺點,但是它的純免費特徵確實是mysql無法比擬的。它完全可以成為軟體產品解決方案中非常重要的一環,特別是針對很多中低端使用者,不僅在使用中不會感到任何差異,而且還能節省一部分額外的費用,這對於產品的市場推廣是非常有幫助的。

學習手冊:

將多列轉成1列

在實際應用中常常遇見這樣的情況,見下表,我們現在需要統計出來每年每個人的工資總和以及發放月份。

user_name

year

month

money

張三2011

1900

張三2011

21200

張三2011

51100

張三2011

61300

李四2011

11100

李四2011

31200

即我們要得到下面表的結果

user_name

year

monthes

total money

張三2011

1,2,5,6

4500

李四2011

1,32300

首先我們想到的是有這樣的sql語句:

select user_name,year,myfunction(month) as monthes, sum(money) as total_money from table group by user_name,year;

像count或者sum一樣吧資料表中的某個字段按照需要拼接起來,但是在postgresql好像沒有直接的方法來實現(或許有筆者沒有發現,正因為沒有發現所以筆者才研究了半天得到下面的心得)。

方法一:在postgresql中如果不自定義函式直接用sql來實現

select t1.user_name, t1.year, array_to_string(array(select t2.month from table t2 where t2.user_name=t1.user_name and  t2.year=t1.year), 『,』)  as monthes, sum(t1.money) as total_money from table t1 where 1 group by t1.user_name, t1.year;

這裡主要是用了postgresql的內建陣列函式array_to_string把陣列拼接成字串。

postgresql的array_agg函式是用來連線到乙個陣列中的輸入值,包括空

select array_agg

(salary

)from company;結果

select unnset(array_agg

(salary

))from company函式可將結果還原為多**況

2015第36週日每天進步1

20世紀50年代,美國質量管理大師戴明博士多次到日本松下 索尼 本田等企業講學,他傳授了最簡單的方法 每天進步1 日本的這些企業照著做了,收到了明顯效果。現在日本先進企業評比,最高榮譽獎仍是 戴明博士獎 但是要做到每天進步1 很不容易,大部分人每天工作8小時能讓自己在本職工作上進步1 嗎,然後是工作...

2013第50週日小結

又一周過去了,感覺時間有點匆忙,雖然感覺效率高些了,但還是沒有那種完全充實放鬆忘我的境界。過去的一周我基本上完成了上週的計畫,雖然很多有應付的成分,但我已盡力做到目前知道的最好。未來同樣如此我還是要定下自己該做的事,然後在限定的時間內完成,質量如何就看自己對自己負責的程度了。下週除了配合測試完成對應...

2023年第16週日

今天看了奇幻森林的背後故事,來驗證一下個人對電影拍攝的實現考慮,電影中就乙個10多歲小男孩在乙個綠色背景的攝影朋下拍攝,其它動物森林場景完全有gc電腦特效實現,但效果與真實場景相差無幾,一方面是製作人員技術好,另一方面是他們花好幾個月去拍攝觀察動物的習性,進而盡可能將畫面做的更真實。晚上看了本週要看...