查詢同一張表中同一欄位的不同值的綜合,方法如下:
select o.code 禮品**,
o.name 禮品名稱,
l.couponactivityid 券活動定義,
count(l.couponno) as 券總數量,
count(case
when l.state in ('0') then
'0'end) 未兌換券數量,
count(case
when l.state in ('1') then
'1'end) 已兌換未核銷券數量,
count(case
when l.state in ('2') then
'2'end) 已核銷券數量
from css_coupon l, css_award o
where l.couponactivityid = o.couponcode
and o.state = '正常'
group by o.code, o.name, l.couponactivityid
count(case
when l.state in ('0') then
'0'end) 未兌換券數量,
count(case
when l.state in ('1') then
'1'end) 已兌換未核銷券數量,
count(case
when l.state in ('2') then
'2'end) 已核銷券數量
上述中有三個count,分別查詢同乙個欄位l.state ,但是對這乙個欄位的查詢值是不同的,即 in ('0') in ('1') in ('2') 演算法等同於,='0' ='1' ='2'
此處簡單記錄一下,有興趣的話可以搜尋一下case的用法
單錶多字段統計
在表cccommoncompany中 有province欄位,licensestartdate 開始日期字段,licenseenddate 結束日期字段,我們的要求是按照licensestartdate和licenseenddate所在的年份來統計.見sql select province,sum ...
oracle表間多字段連線
問題如下 select from table1 a,table2 b,where a.1 b.1 and a.2 b.2 and a.3 b.3 初始 a表裡有資料 b表裡是空的 想用a的那三個字段聯合起來 join b 的那三個字段 方法1 select from table1 left oute...
oracle 多字段去重查詢
需要對錶base mri device的compname fieldstr version欄位分別進行去重查詢,如何使用乙個sql搞定?注意 是分別對3個字段進行去重,而不是3個字段聯合去重。首先,必須進行三次查詢,而將查詢結果進行 行合併 需要用到union或union all 其次,為了區分查詢...