Я бегу этот запросMySQL запрос последняя дата
SELECT sh.*,
u.initials AS initals
FROM database1.table1 AS sh
JOIN database2.user AS u ON u.userID = sh.userid
WHERE id = 123456
AND dts = (SELECT MAX(dts) from database1.table1)
ORDER BY sort_by, category
В table1 У меня есть записи, как этот
dts status category sort_by
2010-04-29 12:20:27 Civil Engineers Occupation 1
2010-04-28 12:20:27 Civil Engineers Occupation 1
2010-04-28 12:20:54 Married Marital Status 2 2010-04-28 12:21:15 Smoker Tobbaco 3
2010-04-27 12:20:27 Civil Engineers Occupation 1
2010-04-27 12:20:54 Married Marital Status 2 2010-04-27 12:21:15 Smoker Tobbaco 3
2010-04-26 12:20:27 Civil Engineers Occupation 1
2010-04-26 12:20:54 Married Marital Status 2 2010-04-26 12:21:15 Smoker Tobbaco 3
Если вы посмотрите на мои данные, я выбираю последнюю запись по категориям и sort_id. однако в некоторых случаях, например 29-го (2010-04-29 12:20:27), у меня есть только одна запись. Поэтому в этом случае я хочу показать занятие для последних, а затем остальных (последнее). Но в настоящее время он отображает только одну строку.
Вы должны действительно форматировать код и поместить таблицу в поле кода. –
Я не могу обработать структуру столбцов таблицы. –
Это: 'AND dts = (SELECT MAX (dts) from database1.table1)' ... гарантирует, что вы получите только записи, соответствующие этому значению dts. Вам нужна группа по критериям для надлежащего разбиения значений dts. –