#sql #google-bigquery #greatest-n-per-group
#sql #google-bigquery #наибольшее число на группу
Вопрос:
Я читал часами, но ничего не добился, поэтому мне было интересно, могу ли я получить небольшую помощь. Вот моя проблема, которая должна быть простой для экспертов (проблема в том, что я полный новичок)
Я хотел бы записывать только каждого уникального пользователя и их самое раннее время, вот так:
Есть мысли? Чем проще запрос, тем лучше. Спасибо!
Комментарии:
1. Какую СУБД вы используете (например, oracle или MS-SQL-Server)?
2. ГРУППИРОВАТЬ ПО, в сочетании с MIN() .
3. Привет. Все, что я знаю, это то, что я использую Google Big Query. Это отвечает тому, что вам нужно знать?
4. Любая СУБД обладает этой функциональностью.
5. Но как мне написать или объединить формулы? Я знаю, что звучу довольно глупо
Ответ №1:
Вы могли бы использовать простой GROUP BY
с MIN
:
SELECT Username, MIN(Datecolumn) As Datecolumn
FROM dbo.TableName
GROUP BY Username
Комментарии:
1. Вау. Спасибо, Тим! Ты крут! И последнее, может ли кто-нибудь порекомендовать хорошую книгу или какой-либо ресурс для изучения SQL? Я читал неделями, но нашел довольно простые вещи. Большое вам всем спасибо!
2. @mikewinston: я в основном учился, выполняя (и отвечая на вопросы по SO), но, похоже, все в порядке: sqlcourse.com