我有一个包含 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 查询来计算这些值?我知道我可以在多个查询中做到这一点,但我正在寻找最好的方法。
谢谢
最佳答案
是的,只使用一个查询就可以做到这一点。
在所有其他条件相同的情况下,您希望使用尽可能少的查询。往返数据库通常是您在程序中会遇到的一些更昂贵的事情。
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;
关于MYSQL 多查询还是单查询——哪个更高效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14885836/