我有一个包含3列的表格:Animal
,key
,owner
。实施例
Cat 1 Bob
Bird 2 Bob
dog 3 Bob
dog 4 Andy
Lizard 5 Andy
Bird 6 Andy
Cat 7 Andy
每只动物一张相关的表格(列号,重量)。例如,表CAT_WEIGHT:
1 12
7 17
我想为每种动物类型找到Min
,Max
,Average
,Total
和Count
,但仅针对特定的所有者。
使用单个MYSQL查询可以计算这些吗?我知道我可以在多个查询中完成它,但我正在寻找最好的方法。
由于
答案 0 :(得分:3)
是的,只使用一个查询就可以做到这一点。
在所有其他条件相同的情况下,您希望尽可能少地使用查询。到数据库的往返通常是您在程序中遇到的一些更昂贵的东西。
select
animal,
min(weight) min_weight,
max(weight) max_weight,
avg(weight) avg_weight,
sum(weight) tot_weight,
count(weight) cnt_weight
from
your_table
group by
animal
order by animal;
答案 1 :(得分:0)
怎么样:
动物选择动物组的最小(体重),最大(体重),总和(体重),计数(*)