Выбор максимального номера заказа в SQL - PullRequest
3 голосов
/ 06 октября 2008

У меня есть таблица, в которой записана последовательность действий с полем, в котором записан порядок последовательности:

user    data    sequence
1       foo     0
1       bar     1
1       baz     2
2       foo     0
3       bar     0
3       foo     1

Выбор первого элемента для каждого пользователя достаточно прост с WHERE sequence = '0', но есть ли способ выбрать последний элемент для каждого пользователя в SQL?

Результат, который я получаю, должен выглядеть следующим образом:

user    data    sequence
1       baz     2
2       foo     0
3       foo     1

Я использую MySQL, если есть какие-то специфические для реализации трюкеры, отвечающие.

Ответы [ 2 ]

5 голосов
/ 06 октября 2008

Этот sql вернет запись с наибольшим значением последовательности для каждого пользователя:

select a.user, a.data, a.sequence
from table as a
    inner join (
        select user, max(sequence) as 'last'
        from table 
        group by user) as b
    on a.user = b.user and 
       a.sequence = b.last
0 голосов
/ 11 ноября 2011
select top 1 
       user
       ,data
       ,sequence
 from table
order
   by sequence
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...