Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql,根据不同列的最大值,使用count选择无重复项_Mysql_Select_Count_Duplicates_Max - Fatal编程技术网

mysql,根据不同列的最大值,使用count选择无重复项

mysql,根据不同列的最大值,使用count选择无重复项,mysql,select,count,duplicates,max,Mysql,Select,Count,Duplicates,Max,我有休闲桌结构 |id|product_id|date|buyer_id|seler_id| 作为一个查询的结果,我需要 不重复,带有最长日期的product_id及其对应的买家id,以及此product_id的买家数量子查询获取每个product_id的最新日期。要获取其他列,您需要在两个条件下联接表本身上的子查询,即它匹配product\u id和date select t.* from your_table t inner join ( select product_id, max

我有休闲桌结构

|id|product_id|date|buyer_id|seler_id|
作为一个查询的结果,我需要
不重复,带有最长日期的product_id及其对应的买家id,以及此product_id的买家数量

子查询获取每个
product_id
的最新日期。要获取其他列,您需要在两个条件下联接表本身上的子查询,即它匹配
product\u id
date

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
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
        ) 

感谢您的快速回复,但我已经知道如何与最后一位买家取得不同的产品id,问题是我还需要知道有多少买家购买了此产品