3.4数量筛选
某表table_a(id,name,num),请查询出name出现超过3次的记录,并计算出num的和。
可以使用以下 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