http://www.sqlcourse2.com/items_ordered.html
上方是表“客户”的链接。 我想要每个客户的最大订单价格和购买日期 我在SQL Serer中尝试过这种方法,但未获得预期的答案 我的结果中有一个唯一的customerid,但我没有得到它
select customerid, max(price), order_date from items_ordered group by customerid, order_date order by customerid;
这是以上查询的结果,同时应该具有唯一的客户ID,并带有max(price)和订单日期。
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
答案 0 :(得分:0)
首先 <items>{
for $i in //item order by $i/name return $i
}</items>
获得每个group by customerid
的最大值price
,然后将结果加入表格:
customerid
当然,如果包含最高价格的行多于1条,则所有行都将被提取。