Предположим, у меня есть эти данные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
Мне нужно, чтобы пользователи, которые сделали журнал между 2011-01-01 и 2011-02-01 включая их первый логарифм с начала.
Ожидаемый результат
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
Проверьте план выполнения. –