2011-06-28 11 views
0

私はカレンダーアプリケーションを持っているので、titleというタイトルとstartDateのイベントというテーブルがあります。事は、指定された日以降に発生しているイベントを選択することです。SQLカスタム制限

SELECT * 
FROM events 
WHERE startDate >= date 
ORDER BY startDate ASC, title ASC 

これは簡単な部分です。今、より難しい部分へ。私はイベントを持っている最初の7つの日付を選択するだけで限界を作りたいと思っています。それ、どうやったら出来るの?

+0

SELECT * FROM events WHERE startDate >= date ORDER BY startDate ASC, title ASC LIMIT 0,7 

あなただけの最初の7日をretriveしたい場合は? – AdaTheDev

+0

! 'm using MYSQL – einstein

+0

これは、照会するデータベースによって異なります。いくつかのシステムは、クエリの最後に 'LIMIT NumberOfRows'構文をサポートしています。 –

答えて

0
SELECT * 
    FROM events 
    WHERE startDate IN (select distinct startdate from events order by startdate desc limit 0,7) 
    AND startDate >= date 
    ORDER BY startDate ASC, title AS 
+0

この答えは、 'startDate> = date'節が必要な場合を除いて正しいと思われます。しかし私は自分でそれを行うことができると思う。 – einstein

+0

サブクエリに日付フィルタが必要な場合もチェックする。一定! – niktrs

0

使用limit:RDBMSは、使用している

SELECT distinct startDate 
FROM events 
WHERE startDate >= date 
ORDER BY startDate 
LIMIT 0,7 
+0

申し訳ありませんが、これは最初の7行ではなく、イベントの最初の7日間であると考えています – einstein

+0

@ Woho87:これはどれですか? 2番目のものは最初の7つの異なる日付を与えます。 – CristiC