编写特定的SQL查询

时间:2013-02-21 17:47:44

标签: sql

我有一个数据库可以保存调查数据,其中一个人可以进行一到两次调查,而不是更多。我有一个专栏DATE,我想让所有人进行第一次调查(而不是第二次调查)。

例如,有电子邮件shane@gmail.com的人在DATE 12月29日和30日进行了调查。同样,电子邮件mike@gmail.com的人在DATE 1月11日和28日结束时进行了调查。

我希望得到两个人的第一份调查记录。谢谢

2 个答案:

答案 0 :(得分:0)

如果没有架构,很难猜测出你需要什么。但如果它像电子邮件和调查日期一样简单,它可能是这样的:

select email, survey_date
from myTable
group by email
order by survey_date asc

答案 1 :(得分:0)

你可以自己穿过桌子

select * from table t1 join table t2
on t1.email = t2.email 
and t1.surveydate < t2.surveydate 

PS:如果您的数据库引擎支持,您可以使用“WITH”子句优化查询。只要您公开的每封电子邮件只有2条记录,此查询就能正常运行