が想定どこにあるとき、私は自分を含めて2011-01-01と2011-02-01 の間でログをしたユーザーを取得する必要がありますSQLは - 日付は句
userid logdate event
0 2009-01-01 x
1 2010-01-01 x
1 2011-01-01 xy
1 2011-01-05 xz
2 2011-01-21 xx
2 2011-01-22 xx
私はこのデータを持っている最も古い日付を取得します。初めから最初のlogdate。
期待される結果
userid first_logdate
1 2010-01-01
2 2011-01-21
現在のソリューション
SELECT user_id, first_logdate
FROM (
SELECT user_id, logdate, MIN(logdate) AS first_logdate
FROM tablex
GROUP BY 1
)
WHERE logdate BETWEEN '2011-01-01' AND '2011-02-01'
データが大きい場合は、このクエリが最適化されていますか?
はい。私には解決策があります。クエリが最適化されているかどうかはわかりません。 – arkisle
実行計画を確認します。 –