У меня есть таблица без primaryKey. И я пытаюсь получить события самой ранней даты, сгруппированные по идентификатору.
Вот как выглядит небольшой фрагмент моей таблицы:
|----------|------------------|-------------|
| id | date | events |
|----------|------------------|-------------|
| 1 |2020-04-11 3:44:20| call |
|----------|------------------|-------------|
| 3 |2020-04-21 7:59:06| appointment |
|----------|------------------|-------------|
| 1 |2020-04-17 1:14:32| appointment |
|----------|------------------|-------------|
| 2 |2020-04-10 3:41:17| feedback |
|----------|------------------|-------------|
| 1 |2020-04-23 1:36:13| appointment |
|----------|------------------|-------------|
| 3 |2020-04-12 4:55:38| call |
|----------|------------------|-------------|
Это результат, который я ищу:
|----------|------------------|-------------|
| id | date | events |
|----------|------------------|-------------|
| 1 |2020-04-11 3:44:20| call |
|----------|------------------|-------------|
| 2 |2020-04-10 3:41:17| feedback |
|----------|------------------|-------------|
| 3 |2020-04-12 4:55:38| call |
|----------|------------------|-------------|
Я пытаюсь получить события по идентификатору только для их соответствующей MIN (даты), но проблема в том, что мне нужно выбрать события SELECT, но затем мне нужно добавить события в GROUP BY, поэтому я не могу GROUP BY id только так, как хотелось бы. Я перепробовал много разных версий, но вот одна:
SELECT id, MIN(date), events
FROM mydataset.mytable
GROUP BY id, events
Имейте в виду, что моя таблица намного больше этой. Любая помощь будет очень признательна.