mysql 数量筛选查询出name出现超过3次的记录,并计算出num的和。

3.4数量筛选
某表table_a(id,name,num),请查询出name出现超过3次的记录,并计算出num的和。

img

可以使用以下 SQL 语句查询表 table_a 中 name 出现超过 3 次的记录,并计算这些记录的 num 列的和:

SELECT name, SUM(num) AS total_num
FROM table_a
GROUP BY name
HAVING COUNT(name) > 3;

该查询语句使用了 GROUP BY 子句按照 name 列对表 table_a 进行分组,然后使用 HAVING 子句筛选出 name 列出现超过 3 次的组,并计算这些组中 num 列的和,结果中每一行对应一个 name 值和对应的 num 值总和。

 select a.name,sum(a.num) from  table_a a where a.time>3 group by a.name;

  select name, count(*) as time, sum(num) as  totalnum  
  from table_a 
  groupby name
  where count(*) > 3