Firebird的Case運算式功能

來源:互聯網
上載者:User

    說來慚愧,自從FB1.5出來以後,一直沒有顧上很深入的挖掘它的新功能,只是當它是IB的一個延續來對待——只要能平滑移植,就算OK。

說來慚愧,自從FB1.5出來以後,一直沒有顧上很深入的挖掘它的新功能,只是當它是IB的一個延續來對待——只要能平滑移植,就算OK。
    前兩天才發現,Firebird 1.5.2裡,已經支援了CASE 運算式。在我看來,這是關係型資料庫中一個相當重要的功能,因為利用CASE,可以產生強大的樞紐分析表——這個東西好像在Excel等試算表裡有個專門的名字,忘了是啥了。但它絕對是一種非常有用的功能。當然,我們可以用試算表軟體實現這個功能,但是會帶來額外的網路通訊負擔,其計算效率也差很多。
以下是利用FB的Demo資料庫employee編寫的一個透視表示例:

select cust_no
      ,sum(case when order_status = 'shipped' then 1 else 0 end) as Shipped
      ,sum(case when order_status = 'open' then 1 else 0 end) as Open
      ,sum(case when order_status = 'waiting' then 1 else 0 end) as Waiting
from sales
group by cust_no

它產生的結果集以每個客戶的訂單按處理狀態分類統計。


,因為利用CASE,可以產生強大的樞紐分析表——這個東西好像在Excel等試算表裡有個專門的名字,忘了是啥了。但它絕對是一種非常有用的功能。當然,我們可以用試算表軟體實現這個功能,但是會帶來額外的網路通訊負擔,其計算效率也差很多。
以下是利用FB的Demo資料庫employee編寫的一個透視表示例:

select cust_no
      ,sum(case when order_status = 'shipped' then 1 else 0 end) as Shipped
      ,sum(case when order_status = 'open' then 1 else 0 end) as Open
      ,sum(case when order_status = 'waiting' then 1 else 0 end) as Waiting
from sales
group by cust_no

它產生的結果集以每個客戶的訂單按處理狀態分類統計。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。