Я разрабатываю приложение аукциона, в котором заявки хранятся в таблице в следующем формате:
id | user_id | auction_id | placed_at
Я бы хотел сгруппировать заявки по идентификатору пользователя и выбрать их количество, но только если идентификаторы пользователя отображаются один за другим Ставки упорядочены по убыванию place_at. Вот что я имею в виду:
1 | 1 | 1 | 01-04-2010 00:00:06
2 | 1 | 1 | 01-04-2010 00:00:05
3 | 2 | 1 | 01-04-2010 00:00:04
4 | 2 | 1 | 01-04-2010 00:00:03
5 | 3 | 1 | 01-04-2010 00:00:02
6 | 2 | 1 | 01-04-2010 00:00:01
В этом случае я должен получить:
count | user_id | auction_id
2 | 1 | 1
2 | 2 | 1
1 | 3 | 1
1 | 2 | 1
Как мне достичь этого результата? Результаты будут использоваться для генерации потока активности аукциона, поэтому они будут использоваться для генерации строки, такой как «ставка Джона Смита на этом аукционе 2 раза». Приложение построено с Ruby on Rails, если это поможет.
Заранее спасибо.