Хотите иметь максимальную цену и дату каждого клиента в таблице клиентов - PullRequest
0 голосов
/ 06 апреля 2019

http://www.sqlcourse2.com/items_ordered.html

Выше приведена ссылка на таблицу «Клиенты».Я хочу иметь максимальную цену заказов каждого клиента и дату покупки, которую я пытался сделать так в SQL Serer, но не получил ожидаемого ответа. В моем результате должен быть уникальный показатель, но я не получаю его

select customerid, max(price), order_date from items_ordered group by customerid, order_date order by customerid;

Это результат вышеупомянутого запроса, в то время как должен быть уникальный клиент с max (ценой) и датой заказа.

10101   125.00  01-Jul-1999
10101   16.00   02-Jan-2000
10101   88.70   08-Mar-2000
10101   18.30   18-Aug-1999
10101   14.75   30-Dec-1999
10101   58.00   30-Jun-1999
10298   12.50   01-Apr-2000
10298   22.00   01-Dec-1999
10298   33.00   01-Jul-1999
10298   22.38   18-Mar-2000
10298   29.00   19-Sep-1999
10299   1250.00 06-Jul-1999
10299   38.00   18-Jan-2000
10315   8.00    02-Feb-2000
10330   28.00   01-Jan-2000
10330   16.75   19-Apr-2000
10330   28.00   30-Jun-1999
10339   4.50    27-Jul-1999
10410   89.22   28-Oct-1999
10410   192.50  30-Jan-2000
10413   32.00   19-Jan-2000
10438   6.75    01-Nov-1999
10438   8.50    02-Nov-1999
10438   79.99   18-Jan-2000
10439   25.50   14-Aug-1999
10439   88.00   18-Sep-1999
10449   45.00   01-Sep-1999
10449   180.79  13-Aug-1999
10449   380.50  15-Dec-1999
10449   40.00   19-Mar-2000
10449   280.00  22-Dec-1999
10449   4.50    29-Feb-2000

1 Ответ

0 голосов
/ 06 апреля 2019

Сначала group by customerid, чтобы получить максимум price для каждого customerid, а затем объедините результаты в таблицу:

select t.customerid, t.price, t.order_date
from items_ordered t inner join (
  select customerid, max(price) maxprice 
  from items_ordered 
  group by customerid 
) g on g.customerid = t.customerid and g.maxprice = t.price
order by t.customerid

Конечно, если есть более 1 строки, содержащей максимальную цену, то все они будут выбраны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...