У меня есть 2 таблицы, таблица состояний которых связана с таблицей профилей. В таблице профилей хранится уникальная таблица tagId и таблица состояний, в которой хранится множественная запись дубликата tagid. Я хочу показать группу по последней записи tagid и первой записи.Группа запросов Mysql по последней записи и первой записи
Таблица: Профиль Примечание: TagID уникален
--------------------------------------------------------------------
| tagId(PK) | blah2 | blah3 | blah4 |
--------------------------------------------------------------------
101 |
102 |
103 |
104 |
105 |
106 |
Таблица: Статус
--------------------------------------------------------------------
statusId | tagId | date | height| weight | statusType | blah2 |
--------------------------------------------------------------------
1 | 101 | 2010-01-01 | 5.6 | 300 | single |
2 | 102 | 2010-01-01 | 5.7 | 300 | single |
3 | 101 | 2015-01-01 | 5.6 | 310 | married |
4 | 103 | 2010-01-01 | 5.6 | 300 | single |
5 | 104 | 2010-01-01 | 5.6 | 300 | single |
6 | 101 | 2016-01-01 | 5.6 | 300 | pregnant |
7 | 101 | 2016-09-01 | 5.6 | 300 | delivery |
8 | 105 | 2010-01-01 | 5.6 | 300 | single |
То, что я хочу попробовать группу по первой дате и группы по последнему StatusType
Результат запроса будет:
--------------------------------------------------------------------
| tagId | date | height| weight | statusType | blah2 |
--------------------------------------------------------------------
| 101 | 2010-01-01 | 5.6 | 300 | delivery |
| 102 | 2010-01-01 | 5.7 | 300 | single |
| 103 | 2010-01-01 | 5.6 | 300 | single |
| 104 | 2010-01-01 | 5.6 | 300 | single |
| 105 | 2010-01-01 | 5.6 | 300 | single |
Но я не могу с этим успехом, я пытался с этим MySQL код
SELECT DISTINCT Profile.TagId,Status.date,Status.StatusType,Status.height,Status.weight FROM Profile
LEFT JOIN Status ON Status.TagId = Profile.TagId
Where Status.StatusId In(Select Max(Status.StatusId) From Status Group By Status.TagId)
Group By Status.TagId ORDER BY Profile.TagId ASC, Status.TagId DESC
Но она возвращает последнюю дату и последний StatusType, как этот
Результат запроса:
--------------------------------------------------------------------
| tagId | date | height| weight | statusType | blah2 |
--------------------------------------------------------------------
| 101 | 2016-09-01 | 5.6 | 300 | delivery |
| 102 | 2010-01-01 | 5.7 | 300 | single |
| 103 | 2010-01-01 | 5.6 | 300 | single |
| 104 | 2010-01-01 | 5.6 | 300 | single |
| 105 | 2010-01-01 | 5.6 | 300 | single |
Что такое 'height' и' weight'? – Blank
забудьте о высоте, весе @Reno –
Я просто этого не понимаю, но, возможно, было легче понять до – Strawberry