在SQL中对结果进行分组

时间:2013-08-02 17:44:52

标签: sql group-by

我正在考虑用水晶做这件事,但我现在正考虑采取另一种方式。这是我以前想过的方式。 Count by group in crystal reports

我通过交易拉动并需要一些独特的人,但在报告中他们想要显示个人的数量,然后在图像中显示他们的服务。我想做的是以某种方式得到一些我可以在底部投入的独特用户。 Crystal不允许我按组进行计数,用户将以他们希望显示的格式重复。我正在跳,我可以在代码中对它进行分组,然后将其添加到报告的底部。我希望我能够实现我想要实现的目标。如果我能以某种方式在报告底部添加唯一用户的总数,它将为我完成它。提前致谢。

enter image description here

select 

distinct p.patient_id,
pa.fname as 'Patient',
p.clinic_id,
p.service_id,
p.program_id,
p.protocol_id,
p.discharge_reason,
p.date_discharged

from patient_assignment p
join patient pa
on p.patient_id = pa.patient_id
where p.program_id not in ('TEST', 'SA', 'INTAKE' ) and (p.date_discharged between '2013-01-01 00:00:00.000' and '2013-06-01 00:00:00.000')
and p.patient_id not in ('00000004', '00001667', '00020354')

1 个答案:

答案 0 :(得分:0)

评论太长了。

SQL查询具有固定列。你不能“只是抛出”底部的不同类型的行。虽然有SQL解决方案(例如连接所有字段以构成单行),但这些并不是非常可口。

相反,这里还有其他一些方法。

您可以运行另一个查询来获取计数。

您可以查询“结果”集以获取计数(可能在获取所有行之后)。

您可以在应用程序中进行一些小的编码工作。