sql QUERY计数采取的行动 [英] sql QUERY count action taken filed
问题描述
这是我的桌子结构: -
CANDIDATE_APPLIED_JOB_ID varchar(10)PRIMARY KEY,
USER_CODE varchar(10),
JOB_POST_CODE VARCHAR(10),
ACTION_TAKEN VARCHAR(50),
IP_ADDRESS varchar(25)
在此表ACTION_TAKEN字段中包含此格式的数据:
CANDIDATE_APPLIED_ USER_CODE ACTION_TAKEN
CAJ0000001 JD1111116 SELECTED
CAJ0000002 JPC0000004 ONHOLD
CAJ0000005 JPC0000004 ONHOLD
CAJ0000006 JPC0000004 ONHOLD
CAJ0000007 JD1111116 REJECTED
CAJ0000008 JD1111116 ONHOLD
CAJ0000009 JD1111116 REJECTED
CAJ0000010 JD1111116 REJECTED
CAJ0000011 JD1111116 ONHOLD
CAJ0000012 JD1111116 REJECTED
CAJ0000013 JD1111116 SELECTED
CAJ0000014 JD1111116 REJECTED
CAJ0000015 JD1111116 SELECTED
我想要sql查询计算ACTION_TAKEN并在此格式中返回te $>
精选ONHOLD拒绝
3 5 5
PLease帮帮我
提前谢谢
[edit]已添加代码块 - OriginalGriff [/ edit]
您好试试这个。希望它有所帮助。
声明 @ CandiDate table (
CANDIDATE_APPLIED_JOB_ID varchar ( 10 ) PRIMARY KEY ,
USER_CODE varchar ( 10 ),
JOB_POST_CODE VARCHAR ( 10 ),
ACTION_TAKEN VARCHAR ( 50 ),
IP_ADDRESS varchar ( 25 )
)
插入 进入 @ CandiDate ( CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000001',' JD1111116',' SELECTED')
insert @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN )值(' CAJ0000002',< span class =code-string>' JPC0000004',' ONHOLD')
insert 进入 @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000005',' JPC0000004',' ONHOLD')
insert 进入 @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000006',' JPC0000004', ' ONHOLD')
insert 进入 @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000007',' JD1111116',' REJECTED')
insert into @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN) values (' CAJ0000008',' JD1111116',' ONHOLD')
插入 进入 @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000009' ,' JD1111116',' REJECTED')
插入 进入 @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000010' ,' JD1111116',' REJECTED')
insert into @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000011',' JD1111116 ',' ONHOLD')
insert int o @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000012',' JD1111116',' REJECTED')
插入 进入 @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000013',' JD1111116',' 已选择')
插入 进入 @候选跨度>(CANDIDATE_APPLIED _JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000014',' JD1111116',' REJECTED')
insert into @ CandiDate (CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN)值(' CAJ0000015',' JD1111116' ,' SELECTED')
SELECT sum([SELECTED]) as SELECTED,sum([ONHOLD]) as 保留,总和([REJECTED])为拒绝
FROM
( SELECT CANDIDATE_APPLIED_JOB_ID,USER_CODE,ACTION_TAKEN
< span class =code-keyword> FROM @ CandiDate )p
PIVOT
(
COUNT(CANDIDATE_APPLIED_JOB_ID)
FOR ACTION_TAKEN IN
([SELECTED],[ONHOLD],[REJECTED ])
) AS pvt
另一种选择可能是
SELECT COUNT( CASE ACTIONTAKE WHEN ' SELECTED' < span class =code-keyword> THEN 1 ELSE NULL END )SE LECTED,
COUNT( CASE ACTIONTAKE WHEN ' ONHOLD' 那么 1 ELSE NULL END )ONHOLD,
COUNT( CASE ACTIONTAKE WHEN ' REJECTED' 那么 1 ELSE NULL END )REJECTED
FROM CANDIDATE_APPLIED_JOB
GROUP BY ACTIONTAKE
This is my table structure:-
CANDIDATE_APPLIED_JOB_ID varchar(10) PRIMARY KEY,
USER_CODE varchar(10),
JOB_POST_CODE VARCHAR(10),
ACTION_TAKEN VARCHAR(50),
IP_ADDRESS varchar(25)
In this table ACTION_TAKEN field have data in this formate:
CANDIDATE_APPLIED_ USER_CODE ACTION_TAKEN CAJ0000001 JD1111116 SELECTED CAJ0000002 JPC0000004 ONHOLD CAJ0000005 JPC0000004 ONHOLD CAJ0000006 JPC0000004 ONHOLD CAJ0000007 JD1111116 REJECTED CAJ0000008 JD1111116 ONHOLD CAJ0000009 JD1111116 REJECTED CAJ0000010 JD1111116 REJECTED CAJ0000011 JD1111116 ONHOLD CAJ0000012 JD1111116 REJECTED CAJ0000013 JD1111116 SELECTED CAJ0000014 JD1111116 REJECTED CAJ0000015 JD1111116 SELECTED
I want to sql query which count the ACTION_TAKEN and give return in this formate
SELECTED ONHOLD REJECTED 3 5 5
PLease help me
Thank you in advance
[edit] Code block added - OriginalGriff [/edit]
Hello try this. Hope it helps.
Declare @CandiDate table( CANDIDATE_APPLIED_JOB_ID varchar(10) PRIMARY KEY, USER_CODE varchar(10), JOB_POST_CODE VARCHAR(10), ACTION_TAKEN VARCHAR(50), IP_ADDRESS varchar(25) ) insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000001','JD1111116','SELECTED') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000002','JPC0000004','ONHOLD') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000005','JPC0000004','ONHOLD') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000006','JPC0000004','ONHOLD') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000007','JD1111116','REJECTED') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000008','JD1111116','ONHOLD') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000009','JD1111116','REJECTED') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000010','JD1111116','REJECTED') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000011','JD1111116','ONHOLD') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000012','JD1111116','REJECTED') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000013','JD1111116','SELECTED') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000014','JD1111116','REJECTED') insert into @CandiDate(CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN) values('CAJ0000015','JD1111116','SELECTED') SELECT sum([SELECTED]) as SELECTED,sum([ONHOLD]) as Onhold,sum([REJECTED]) as Rejected FROM (SELECT CANDIDATE_APPLIED_JOB_ID, USER_CODE ,ACTION_TAKEN FROM @CandiDate ) p PIVOT ( COUNT (CANDIDATE_APPLIED_JOB_ID) FOR ACTION_TAKEN IN ( [SELECTED],[ONHOLD],[REJECTED]) ) AS pvt
Another alternative could be as
SELECT COUNT(CASE ACTIONTAKE WHEN 'SELECTED' THEN 1 ELSE NULL END) SELECTED, COUNT(CASE ACTIONTAKE WHEN 'ONHOLD' THEN 1 ELSE NULL END) ONHOLD, COUNT(CASE ACTIONTAKE WHEN 'REJECTED' THEN 1 ELSE NULL END) REJECTED FROM CANDIDATE_APPLIED_JOB GROUP BY ACTIONTAKE
这篇关于sql QUERY计数采取的行动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!