Mysql 忽略分组依据上的重复项
我有一个包含店铺id、名称和促销代码的表。我想获得每个店铺id的记录数量,但是有一些重复的记录,其中促销代码被多次使用。我想忽略这些 我试过:Mysql 忽略分组依据上的重复项,mysql,sql,grouping,Mysql,Sql,Grouping,我有一个包含店铺id、名称和促销代码的表。我想获得每个店铺id的记录数量,但是有一些重复的记录,其中促销代码被多次使用。我想忽略这些 我试过: 选择店铺id,按店铺id将(*)计算为tbl组中的总条目 这为我提供了正确的结构,但它确实计算了所有重复的行。所以我想我应该试着先根据促销代码,然后根据店铺id对它们进行分组: 选择店铺id,按促销代码、店铺id将(*)计算为tbl组的总条目 但这会给我所有的结果为零。试试: SELECT shop_id, count(distinct promotio
选择店铺id,按店铺id将(*)计算为tbl组中的总条目
这为我提供了正确的结构,但它确实计算了所有重复的行。所以我想我应该试着先根据促销代码,然后根据店铺id对它们进行分组:
选择店铺id,按促销代码、店铺id将(*)计算为tbl组的总条目
但这会给我所有的结果为零。试试:
SELECT shop_id, count(distinct promotion_code) as total_entries FROM tbl GROUP BY shop_id
尝试:
选择店铺id,按促销代码、店铺id将(*)作为tbl组的总店铺条目
您可以使用DISTINCT函数来代替(*),这样可以确保您尝试分组的所有数据都是唯一的值
你可以这样做:
选择店铺id,按店铺id将(不同的促销代码)计算为tbl组的总条目
选择店铺id,按促销代码、店铺id将(*)作为tbl组的总店铺条目
您可以使用DISTINCT函数来代替(*),这样可以确保您尝试分组的所有数据都是唯一的值
你可以这样做:
选择shop\u id,按shop\u id从tbl组中将(不同的促销\u代码)计数为总计\u条目
添加一些示例表数据和预期结果。(以及格式良好的文本。)顺便说一句,不可能为发布的Select返回零。添加一些示例表数据和预期结果。(以及格式良好的文本)顺便说一句,不可能为发布的选择返回零。
select shop_id, count(distinct promotion_code)
from tbl
group by shop_id