0

私は、1 人が 1 回か 2 回調査を行うことができる調査からのデータを保存するデータベースを持っています。DATEすべての人々の最初の調査(2番目の調査ではありません)を取得したい列があります。

たとえば、EMAIL を持つ人が 12 月 29 日と 30 日にshane@gmail.com調査を行いました。DATE同様に、EMAIL のユーザーが11 月1 日と 12 月 28 日mike@gmail.comに調査を行いました。DATE

両方の最初の調査記録を取得したい。ありがとうございました

4

2 に答える 2

0

スキーマがなければ、必要なものを推測するのは困難です。しかし、メールと調査の日付を含む表のように単純な場合は、次のようになります。

select email, survey_date
from myTable
group by email
order by survey_date asc
于 2013-02-21T17:54:35.153 に答える
0

あなたはそれ自体でテーブルを横切ることができます

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

PS: データベース エンジンがサポートしている場合は、"WITH" 句を使用してクエリを最適化できます。このクエリは、公開した電子メールごとに 2 つのレコードしかない限り、正しく機能します。

于 2013-02-21T18:04:39.870 に答える