SQL Server、Oracle中CASE 與COUNT合用計數
使用CASE及COUNT對不同值進行計數
1. SQL Server中
select TeacherNo,(case WeekNo when 1 then count(TeacherNo) end) XQ1,
(case WeekNo when 2 then count(TeacherNo) end) XQ2,
(case WeekNo when 3 then count(TeacherNo) end) XQ3
from A
group by TeacherNo;
2. Oracle 中
with A as (
select 1 TeacherNo,2 WeekNo from dual
union all
select 1 TeacherNo,3 WeekNo from dual
union all
select 2 TeacherNo,1 WeekNo from dual
union all
select 3 TeacherNo,2 WeekNo from dual
union all
select 1 TeacherNo,2 WeekNo from dual
)
select TeacherNo,count(case WeekNo when 1 then 1 else null end) XQ1,
count(case WeekNo when 2 then 1 else null end) XQ2,
count(case WeekNo when 3 then 1 else null end) XQ3
from A
group by TeacherNo;
1. SQL Server中
select TeacherNo,(case WeekNo when 1 then count(TeacherNo) end) XQ1,
(case WeekNo when 2 then count(TeacherNo) end) XQ2,
(case WeekNo when 3 then count(TeacherNo) end) XQ3
from A
group by TeacherNo;
2. Oracle 中
with A as (
select 1 TeacherNo,2 WeekNo from dual
union all
select 1 TeacherNo,3 WeekNo from dual
union all
select 2 TeacherNo,1 WeekNo from dual
union all
select 3 TeacherNo,2 WeekNo from dual
union all
select 1 TeacherNo,2 WeekNo from dual
)
select TeacherNo,count(case WeekNo when 1 then 1 else null end) XQ1,
count(case WeekNo when 2 then 1 else null end) XQ2,
count(case WeekNo when 3 then 1 else null end) XQ3
from A
group by TeacherNo;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10314474/viewspace-772386/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server中count(*)和Count(1)的區別SQLServer
- SQL語句case when外用sum與count的區別SQL
- 使用CASE表示式替代SQL Server中的動態SQLSQLServer
- sql server select case when的用法SQLServer
- Oracle group by與case when統一單位後統計數量Oracle
- Oracle case when改寫SQLOracleSQL
- mysql中count(1)與count(*)比較MySql
- SQL中的CASE WHEN使用SQL
- 轉 sql 中 case 的用法SQL
- order by在SQL Server與Oracle中的一個區別SQLServerOracle
- HOME: Count Digits —— 計算字串中數字個數Git字串
- Oracle 中 case的用法Oracle
- SQL Server中臨時表與表變數的區別SQLServer變數
- SQL in ORACLE and SQL ServerSQLOracleServer
- sql中case when的小學SQL
- SQL Server中的全域性變數SQLServer變數
- 如何使用Linked Server連線Oracle與SQL ServerServerOracleSQL
- SQL server 與Oracle開發比較SQLServerOracle
- [zt] Oracle與SQL Server的互連OracleSQLServer
- SQL SERVER與ORACLE的資料共享SQLServerOracle
- sql net message from|to client與sql execution countSQLclient
- SQL Server 計數器 閥值列表SQLServer
- SQL Server中的事務與鎖SQLServer
- Oracle與SQL Server在企業應用中的比較(轉)OracleSQLServer
- sql server 中對小數保留兩位小數SQLServer
- SQL中的case when then else end用法SQL
- 瞭解GaussDB SQL中CASE表示式SQL
- mysql中的case when 與if()MySql
- 引數修改影響 sql version_countSQL
- SQL Server與雲端計算(下)WCSQLServer
- SQL Server與雲端計算(上)UHSQLServer
- SQL server中的日期變數縮寫SQLServer變數
- SQL Server 中將字串按數字排序SQLServer字串排序
- Oracle中db_file_multiblock_read_count引數探究OracleBloC
- SQL Case WhenSQL
- 【SQL】小CASESQL
- SQL Server需要監控哪些計數器SQLServer
- 案例:oracle中case when的用法Oracle