Запрос ms-access sql: выберите по одной строке для каждого клиента - PullRequest
0 голосов
/ 18 июня 2020

У меня есть таблица с именем «покупки», в которой перечислены клиенты и даты покупок. Я хочу сделать запрос, который дал бы мне для КАЖДОГО клиента самую последнюю дату покупки. Дело в том, что для каждого клиента я хочу видеть самую последнюю дату И остальную информацию, связанную с покупкой.

enter image description here

Спасибо.

1 Ответ

0 голосов
/ 18 июня 2020

Вы можете использовать коррелированный подзапрос:

select p.*
from purchases as p
where p.purchasedate = (select max(p2.purchasedate)
                        from purchases as p2
                        where p2.client = p.client
                       );

В ваших данных у вас есть уникальный идентификатор. Это также предлагает:

select p.*
from purchases as p
where p.id = (select top 1 p2.id
              from purchases as p2
              where p2.client = p.client
              order by p2.purchasedate desc
             );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...