難しいSQL
別の掲示板に質問したのですが、難易度が高いのかしばらく回答が得られなかったのでこちらに質問してみます。(別の掲示板の方は質問を取り消しました。)ちょっと急いでいるのでどんなものでも構いません。SQLに詳しい方、ご教示お願い致します。環境は、MySQL5.1.33(MacOSX版)を使用しています。
以下のようなデータベースがあります。マスター系となるユーザテーブルと、それを参照するトランザクション系の買い物テーブルです。このデータベースから、「※連続して買い物をしたユーザをSELECTしたい」のですがそのようなことは可能でしょうか?可能であるとすると、どのようなSQLを書けばよろしいでしょうか?
※「連続して」とは、日付をまたがって、という意味です。
例)2009/06/12、2009/06/13
(1)ユーザテーブル
mysql> desc user;
userid, int(11), primary key
username varchar(15)
(2)買い物テーブル
mysql> desc purchase;
purchaseid, int(11), primary key
userid int(11)
purchaseid date
今、買い物テーブルに以下のようにデータがある場合
mysql> select * from purchase;
1, 3, 2004-01-02
6, 1, 2004-04-03
5, 2, 2008-04-05
4, 2, 2000-01-19
3, 5, 2004-01-01
2, 1, 2001-11-10
9, 5, 2003-12-31
8, 1, 2007-04-05
7, 3, 2004-01-03
mysql> select userid from ...
とすると3, 5を抜き出すようにしたいです。(3は2004/01/02, 2004/01/03だから。5は2003/12/31, 2004/01/01だから。)
このselect文の書き方を教えて頂きたいです。お手数をおかけしますがよろしくおねがいします。
お礼
ご返信ありがとうございます。 申し訳ございませんが、上記ではできません。 自己解決しました。 ありがとうございました。