У нас есть таблица сообщений
╔════╤═════════╤═══════╤══════════════╤══════╗
║ id │ user_id │ title │ created_date │ rate ║
╠════╪═════════╪═══════╪══════════════╪══════╣
║ 1 │ 1 │ text │ 10/12/2020 │ 5 ║
╟────┼─────────┼───────┼──────────────┼──────╢
║ 2 │ 1 │ text │ 10/12/2020 │ 4 ║
╟────┼─────────┼───────┼──────────────┼──────╢
║ 3 │ 2 │ text │ 10/12/2020 │ 3 ║
╟────┼─────────┼───────┼──────────────┼──────╢
║ 4 │ 2 │ text │ 10/12/2020 │ 5 ║
╚════╧═════════╧═══════╧══════════════╧══════╝
Я хочу сгруппировать сообщения по дате создания и выбирать сообщения только с более низкой скоростью, поэтому результат должен быть
╔════╤═════════╤═══════╤══════════════╤══════╗
║ id │ user_id │ title │ created_date │ rate ║
╠════╪═════════╪═══════╪══════════════╪══════╣
║ 2 │ 1 │ text │ 10/12/2020 │ 4 ║
╟────┼─────────┼───────┼──────────────┼──────╢
║ 3 │ 2 │ text │ 10/12/2020 │ 3 ║
╚════╧═════════╧═══════╧══════════════╧══════╝
Сначала я попытался выбрать они с этим:
SELECT posts.*, MIN(rate) FROM posts GROUP BY created_date;
И получил ошибку: «ERROR column 'posts.id'» должен появиться в предложении GROUP BY или использоваться в статистической функции «
Я добавил после идентификатора GROUP BY
SELECT posts.*, MIN(rate) FROM posts GROUP BY id, created_date;
, но это помогло только скрыть ошибку, и после этого sql я получил тот же результат, который показал в первой таблице
Есть ли другие способы сделать такие вещи?