У меня есть таблица и данные, подобные этой:
id hour name
1 0 a1
1 1 a2
1 2 a3
1 3 a4
2 1 a5
2 1 a6
2 2 a7
2 3 a8
3 1 a9
3 0 a10
4 1 a11
4 1 a12
5 1 a13
……
Я хочу найти несколько идентификаторов, таких как (1,2,4 ....), а также максимум (час) идентификаторов и уникальный идентификатор
результат типа:
id hour name
1 3 a4
2 3 a8
3 1 a9
4 1 a12
....
Я пытаюсь группировать и сортировать, но не получается.Как это написать?Спасибо.
В первый раз, когда я пишу вопрос, теряю некоторую информацию, поэтому, возможно, какой-то ответ мне не нужен.Поэтому я обновляю вопрос.Извините, я сначала использую stackowverflow, извините за мою ошибку.
это мой неправильный sql: select * from tb, где id в (1,2,3,4) группируются по порядку идентификаторов по часам.
Я знаю, как написать правильный метод:
это неправильно:
выберите идентификатор, макс (час) из группы tb по tb;
это правильно:
SELECT a.id, a.maxhour, b.name FROM (SELECT id, max (hour) AS maxhour, имя FROM tb, где id в (1,2), 3,4) GROUP BY id) ПРИСОЕДИНЕНИЕ tb b ON a.id = b.id И a.maxhour = b.hour
спасибо всем моим друзьям.Ваш ответ заставляет меня знать, как это сделать