Я хочу, чтобы моя таблица message_mapping
была упорядочена по самой последней дате, доступной для message_id
в таблице messages
(message_id
доступна в обеих таблицах).
Если я попытаюсь использовать MAX(messages.send_at)
в операторе ORDER BY
, результат не изменится
SELECT * FROM message_mapping
LEFT JOIN messages ON message_mapping.message_id = messages.message_id
WHERE landlord = 16 OR tenant = 16
GROUP BY message_mapping.message_id
ORDER BY messages.send_at DESC
Вот так выглядят мои таблицы:
message_mapping:
+------------+----------+--------+-------------+
| message_id | landlord | tenant | property_id |
+------------+----------+--------+-------------+
| 34 | 194 | 16 | 160 |
+------------+----------+--------+-------------+
| 35 | 194 | 16 | 318 |
+------------+----------+--------+-------------+
| 36 | 194 | 207 | 160 |
+------------+----------+--------+-------------+
Сообщения:
+-----+------------+--------+----------+--------------+----------------+
| id | message_id | sender | receiver | message_text | send_at |
+-----+------------+--------+----------+--------------+----------------+
| 256 | 34 | 16 | 194 | lorem ipsum | 10.05.19 22:37 |
+-----+------------+--------+----------+--------------+----------------+
| 257 | 34 | 194 | 16 | lorem ipsum | 10.05.19 22:38 |
+-----+------------+--------+----------+--------------+----------------+
| 258 | 34 | 194 | 16 | lorem ipsum | 20.05.19 22:38 |
+-----+------------+--------+----------+--------------+----------------+
| 259 | 34 | 194 | 16 | lorem ipsum | 25.05.19 22:38 |
+-----+------------+--------+----------+--------------+----------------+
| 260 | 35 | 16 | 194 | lorem ipsum | 13.05.19 22:38 |
+-----+------------+--------+----------+--------------+----------------+
Столбец send_at отформатирован как DATETIME и выглядит так: 2019-05-13 22:39:00
Я не знаю, почему это d
Я бы хотел видеть таблицу message_mapping (где отправитель или получатель = 16), упорядоченную по самой поздней дате из табличных сообщений.
Есть идеи, что я могу изменить?