0

我有休闲表结构

|id|product_id|date|buyer_id|seler_id|

作为查询的结果,我不需要重复,product_id 具有最大日期并对应于它的 buyer_id 以及此 product_id 的买家数量

4

2 回答 2

1
select t.*
from your_table t
inner join
(
   select product_id, max(date) as mdate
   from your_table
   group by product_id 
) x on x.product_id = t.product_id and x.mdate = t.date
于 2013-09-24T14:28:32.043 回答
1

子查询获取每个product_id. 要获取其他列,您需要在两个条件下加入表本身的子查询,即它匹配product_iddate

SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT  product_id, MAX(date) date
            FROM    tableName
            GROUP   BY product_id
        ) b ON a.product_id = b.product_id AND
                a.date = b.date

这也可以使用相关子查询来完成,

SELECT  a.*
FROM    tableName a
WHERE   a.date = 
        (
            SELECT  MAX(date) date
            FROM    tableName b
            WHERE   a.product_id = b.product_id
        ) 
于 2013-09-24T14:28:33.770 回答