正如标题所示,我想选择用a组成的每组行的第一行GROUP BY.
具体来说,如果我有一个purchases看起来像这样的表:
SELECT * FROM purchases;
Run Code Online (Sandbox Code Playgroud)
我的输出:
id | customer | total ---+----------+------ 1 | Joe | 5 2 | Sally | 3 3 | Joe | 2 4 | Sally | 1
我想查询每个产品id的最大购买量(total)customer.像这样的东西:
SELECT FIRST(id), customer, FIRST(total)
FROM purchases
GROUP BY customer
ORDER BY total DESC;
Run Code Online (Sandbox Code Playgroud)
预期产出:
FIRST(id) | customer | FIRST(total)
----------+----------+-------------
1 | Joe | 5
2 | Sally | 3
我有这个SQL查询:
SELECT Foo, Bar, SUM(Values) AS Sum
FROM SomeTable
GROUP BY Foo, Bar
ORDER BY Foo DESC, Sum DESC
Run Code Online (Sandbox Code Playgroud)
这导致输出类似于:
47 1 100
47 0 10
47 2 10
46 0 100
46 1 10
46 2 10
44 0 2
Run Code Online (Sandbox Code Playgroud)
我想每个Foo只有第一行,而忽略其余的.
47 1 100
46 0 100
44 0 2
Run Code Online (Sandbox Code Playgroud)
我怎么做?