我想进行SQL查询,但它不起作用。这是我的表格的样子
Client|Product|Amount|
A | P1 | 5 |
A | P1 | 7 |
A | P1 | 3 |
A | P2 | 8 |
A | P2 | 0 |
A | P2 | 5 |
A | P3 | 9 |
A | P3 | 0 |
我想设置一个查询,为我提供每个客户端的最后一个条目以及每个大于0的产品。输出应如下所示:
Client|Product|Amount|
A | P1 | 3 |
A | P2 | 5 |
我尝试使用此代码
SELECT Client,Product, LAST(Amount)
FROM Table
WHERE Amount>0
GROUP BY Client,Product
但我得到了这个输出:
Client|Product|Amount|
A | P1 | 3 |
A | P2 | 5 |
A | P3 | 9 |
任何想法如何解决这个问题?
答案 0 :(得分:0)
使用having
子句:
SELECT Client, Product, LAST(Amount)
FROM Table
GROUP BY Client, Product
HAVING LAST(Amount) > 0;
答案 1 :(得分:0)
SELECT Client,Product, LAST(Amount)
FROM Table
WHERE product IN (SELECT product
FROM table) and LAST>0
GROUP BY Client, Product