如何使用PHP和MySQL对列值进行分组

如何使用PHP和MySQL对列值进行分组,php,mysql,Php,Mysql,我需要一个帮助。我需要使用MySQL根据自动递增的id查询跳过重复的列值。我在下面解释我的表结构 db_子目录: 这里我需要根据成员id跳过重复的列值,例如-这里对于成员id-18有两个日id作为2,如果成员id相同,我只需要取一个。您可以使用distinct: select distinct member_id, day_id from db_subcat; SELECT distinct member_id, day_id from db_subcat; 您可以在MySQL中使用UNIQ

我需要一个帮助。我需要使用MySQL根据自动递增的
id
查询跳过重复的列值。我在下面解释我的表结构

db_子目录:


这里我需要根据
成员id
跳过重复的列值,例如-这里对于
成员id-18
有两个
日id
作为
2
,如果
成员id
相同,我只需要取一个。

您可以使用
distinct

select distinct member_id, day_id from db_subcat;
SELECT distinct member_id, day_id from db_subcat;

您可以在MySQL中使用
UNIQUE
键,这样就不会首先插入重复的结果

否则,您可以使用
选择distinct

select distinct member_id, day_id from db_subcat;
SELECT distinct member_id, day_id from db_subcat;
有关SQL唯一约束的详细信息:


有关SQL Select Distinct的详细信息:。

除了跳过重复的成员id之外,您可能还需要天id的总和,如下查询获取:

select member_id, sum(day_id)
from db_subcat
group by member_id

您可以根据需要使用任何聚合函数(例如,最小值、最大值、计数、平均值)。

您可以使用
distinct
以及
groupby

select distinct member_id, day_id from db_subcat;
select member_id, day_id from db_subcat group by member_id, day_id;

这里的
distinct
将比
groupby
更快。要查看差异,请查看

,您可以在MySQL中使用
UNIQUE
键,这样重复的结果就不会被插入到第一个可能重复的位置