[英]Counts calculation for date range
我有一张表格,我需要在其中获取针对每个步骤提出的问题数量以及在特定日期回答了这些问题中的多少。 我需要有关 sql 查询的帮助
date step questions answers
01/01/2022 Bio-data What is your name John
01/01/2022 Bio-data What is your dob NULL
01/01/2022 Bio-data What is your name John
01/01/2022 Bio-data What is your dob NULL
01/02/2022 Registration What is your name John
01/02/2022 Registration What is your address Newyork
01/02/2022 Registration What is your number Null
01/02/2022 Registration What is your name John
01/02/2022 Registration What is your address Newyork
01/02/2022 Registration What is your number Null
结果集:
我需要对日期 01/01/2022 步骤生物数据进行计数,提出了两个独特的问题,只有一个得到了回答。
我需要 2022 年 1 月 2 日注册步骤的计数 提出了三个独特的问题,但只回答了两个。
create table QuestionAnswers (
Date datetime,
Step char(50),
Question char(50),
Answer char(50) NULL)
insert into QuestionAnswers values
('2022-01-01', 'Bio-data', 'What is your name', 'John'),
('2022-01-01', 'Bio-data', 'What is your dob', NULL),
('2022-01-01', 'Bio-data', 'What is your name', 'John'),
('2022-01-01', 'Bio-data', 'What is your dob', NULL),
('2022-01-02', 'Registration', 'What is your name', 'John'),
('2022-01-02', 'Registration', 'What is your address', 'Newyork'),
('2022-01-02', 'Registration', 'What is your number', NULL),
('2022-01-02', 'Registration', 'What is your name', 'John'),
('2022-01-02', 'Registration', 'What is your address', 'Newyork'),
('2022-01-02', 'Registration', 'What is your number', NULL);
with
GrupedByAnswers as (
select
[Date],
Step,
Question,
case when Answer is null then 'No' else 'Yes' end IsAnswered
from QuestionAnswers)
select
[Date], Step, Question, IsAnswered, count(*) [Count]
from GrupedByAnswers
group by [Date], Step, Question, IsAnswered
日期 | 步 | 问题 | 已回答 | 数数 |
---|---|---|---|---|
2022-01-01 00:00:00.000 | 生物数据 | 你是做什么工作的 | 不 | 2个 |
2022-01-01 00:00:00.000 | 生物数据 | 你叫什么名字 | 是的 | 2个 |
2022-01-02 00:00:00.000 | 登记 | 你的地址是什么 | 是的 | 2个 |
2022-01-02 00:00:00.000 | 登记 | 你叫什么名字 | 是的 | 2个 |
2022-01-02 00:00:00.000 | 登记 | 你的号码是多少 | 不 | 2个 |
为了更好地理解问题,最好将预期结果集作为示例而不是文本描述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.