2017-04-15 118 views
1

我有一个包含3列id,访问日期和约会日期的表。 我想编写一个sql查询来查找以下内容 对于每个id,有多少个条目在哪里访问日期与约会日期匹配。请注意,比较必须在每个ID的多行上进行。 例子:用于比较2列的SQL查询

id Visit-date Appointment-date 
1  20-1-2016 20-2-2016 
1  20-2-2016 30-3-2016 
1  04-04-2016 05-05-2016 

非常感谢您的帮助。 普拉萨德

+0

你是什么意思与“跨越多行”? –

+0

要更加清楚,对于ID中的每个约会日期,查询必须报告是否存在任何匹配的日期。在上例中,匹配组合是约会日期:20-2-2016,访问日期:20-2-2016 .. – prasad

回答

0

您可以使用左与聚集到一起获得期望的结果:

select a.id, 
    count(b.appointment_date) as count 
from your_table a 
left join your_table b on a.id = b.id 
    and a.visit_date = b.appointment_date 
group by a.id; 
0

你可以指望通过记录ID分组。

select id, count(*) num_records 
from  your_table 
where  visit_date = appointment_date 
group by id