如何对每个数据进行明确限制

时间:2014-04-12 09:45:33

标签: mysql

亲爱的朋友们,请接受我的祝福,我有一个与mysql表有关的问题。其实我有这样一张桌子

mysql Table

现在我想查询每个产品代码的最后购买税。为此我使用这个mysql查询:

SELECT DISTINCT PROD_CODE, PURCHASE_TAX
FROM PRODUCT_STOCK
WHERE PROD_CODE
IN ( 5300,  'BLUEBOOK' ) 
ORDER BY ID DESC 
LIMIT 0 , 30

从这个mysql返回结果集,就像这样

Result Set

正如您在结果集中看到的mysql返回相关产品的所有行。虽然我只想最后一排。请帮我这个

2 个答案:

答案 0 :(得分:0)

尝试使用GROUP BY

SELECT DISTINCT PROD_CODE, PURCHASE_TAX
FROM PRODUCT_STOCK
WHERE PROD_CODE
IN ( 5300,  'BLUEBOOK' ) 
GROUP BY PROD_CODE;

答案 1 :(得分:0)

由于我看不到列显示时间,我假设所有记录都是按顺序插入的,因此id越大,记录越新。

SELECT DISTINCT(PROD_CODE) AS CODE, (SELECT PRODUCT_STOCK.PURCHASE_TAX FROM PRODUCT_STOCK WHERE PRODUCT_STOCK.PROD_CODE = CODE ORDER BY ID DESC LIMIT 1) AS PURCHASE_TAX
FROM PRODUCT_STOCK
WHERE PROD_CODE
IN ( 5300,  'BLUEBOOK' );