1. 程式人生 > >sql中SUM與case when的組合使用

sql中SUM與case when的組合使用

SELECT SUM(case WHEN sex=1 then 1 else 0 end )as '男生',SUM(case when sex =2 then 1 else 0 end )'女生'FROM asex

這句sql輸出的就是男女生的人數(1代表男生,2代表女生),SUM(case WHEN sex=1 then 1 else 0 end )這句話的含義就是統計sex列中值為1的行數總和。

相關推薦

sqlSUMcase when組合使用

SELECT SUM(case WHEN sex=1 then 1 else 0 end )as '男生',SUM(case when sex =2 then 1 else 0 end )'女生'FROM asex這句sql輸出的就是男女生的人數(1代表男生,2代表女生),S

SQL的IF語句case when then

MySQL的IF既可以作為表示式用,也可在儲存過程中作為流程控制語句使用,如下是做為表示式使用: IF表示式 IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),則 IF()的返回

SQL語句sumcount的區別

表fruitid     name    price1     apple     1.002     pear       4.00select count(price) from fruit; ----執行之後結果為:2  (表示有2條記錄)select  sum(price) from fruit;--

Sql server Union Case

  在sql server中,我們對於一些查詢,當選擇某一個表的一部分與另一部分,或者兩個表組合成一個臨時表或者檢視時,最常用的就是Union All語句了,我的寫作水平不強,以下只是我做專案時經歷的一個真實案例。 如: Select a.Name a.ID,a.Type,

DECODE CASE WHEN 的比較以及用法

發放 case oracle sta 相等 server 條件 比較 oracl 1.DECODE 只有Oracle 才有,其它數據庫不支持; 2.CASE WHEN的用法, Oracle、SQL Server、 MySQL 都支持; 3.DECODE

mysqlLOCATE和CASE WHEN...THEN...ELSE...END結合用法

else case put asdf span 項目 oos bstr col 之前項目中需要寫一個sql,就是查出某個調研詳情中,選A答案,B答案,C答案...F答案的人各有多少人,這個sql也是費了很大的力氣才寫出來,故記下來,方便以後使用。 其中tbl_researc

sql語句if,case when

account amount else order clas class pre select acc 1.if 表達式:IF( expr1 , expr2 , expr3 ) expr1條件,條件為true,則值是expr2 ,false,值就是expr3 例: SE

關於hibernatehql語句 case when的寫法

case when select rom org nat where for code when java hql case when的用法 if(null == sorter){ hql.append(" order by m.mDate des

ORACLE sql 執行順序、Case When 、檢視執行的sql語句

標準的 SQL 的解析順序為:    (1) FROM 子句, 組裝來自不同資料來源的資料    (2) WHERE 子句, 基於指定的條件對記錄進行篩選    (3) GROUP BY 子句, 將資料劃分為多

SqlEXISTSIN的使用及效率

in 和exists 對於以上兩種查詢條件,in是把外表和內表作hash 連線,而exists 是對外表作loop 迴圈,每次loop 迴圈再對內表進行查詢。 一直以來認為exists 比in 效率高的說法是不準確的。在不同的情況下,exists與in的效能各有優缺項,如果查詢的兩個表大小相當,那麼用in

SQLwherehaving的區別

導讀 1.where和having的區別 2.聚合函式和group by 3.where 和having的執行順序 4.where不能使用聚合函式、having中可以使用聚合函式 1.where和having的區別 whe

sql:常用:case when

     sql只查一次未優化 SELECT     * FROM     (         SELECT       &nb

關於sqlorand的執行順序

<select id="countAssetTab" resultType="Integer" parameterType="HashMap"> SELECT COUNT(1) FROM TTRD_ASSET_MANAGE_PLAN_EXTEND

關於verilogifcase語句不完整產生鎖存器的問題

一、是什麼        鎖存器是一種在非同步時序電路系統中,對輸入訊號電平敏感的單元,用來儲存資訊。一個鎖存器可以儲存1bit的資訊,通常,鎖存器會多個一起出現,如4位鎖存器,8位鎖存器。         鎖存器在資料未鎖存時,輸出端的訊號隨輸入訊號變化,就像訊號通

SQLvarcharNvarchar區別(亂碼的出現)

   varchar在SQL Server中是採用單位元組來儲存資料的,nvarchar是使用Unico來儲存資料的.中文字元儲存到SQL Server中會儲存為兩個位元組(一般採用Unico編碼),英文字元儲存到資料庫中,如果欄位的型別為varchar,則只會佔用一個位元

SQLEXISTSIN的效率問題

一起學習一下;有兩個簡單例子,以說明 “exists”和“in”的效率問題1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;    T1資料量小而T2資料量非常大時,T1<<T

sql使用update set case when 實現一條語句批量更新

比如有一張user表  有欄位username(使用者名稱),status(狀態)   表中有三條資料 username = "張三" status = 1,username = "李四" status = 0, username = "王五" status = 1現在要將u

sql控制流程語句case when/if/ifnull/null if

select *,case t.name when 1 then '男' when 2 then '女' end as sexfrom tt t 結果:   一.            控制流程函式 1.CASE value WHEN [compare-value]THEN result [WHEN [c

sql update set使用case when語句

1、 update TD_XXXsetdjyzmdm=null,djyzmsj=null,DLCS= case when DLCS is null then 1 else DLCS+1 end whe

SQLsum(),avg()等統計結果為null的解決方法

在SQL語句中使用集合函式count(),返回結果肯定為非負整數,這也是用來判斷資料有無的一個很有效的方法; 然後在用sum()進行集合相加的時候,如果sum()的物件沒有記錄,那麼不會返回0,而返回null,這麼做,不會影響資料庫,因為數值型欄位也是可以存放NULL的,因為在執行這樣的SQL語句的時候