聚集函数用来汇总数据。虽然至今为止聚集函数的所有例子只是从单个表汇总数据,但这些函数也可以与联结一起使用。为说明这一点,请看一个例子。如果要检索所有客户及每个客户所下的订单数,下面使用了 COUNT() 函数的代码可完成此工作:
输入:
select customers.cust_name,customers.cust_id,count(order_num) as num_ord from customers inner join orders on customers.cust_id = orders.cust_id group by custo,=mers.cust_id;
输出:
分析:此 SELECT 语句使用 INNER JOIN 将 customers 和 orders 表互相关联。GROUP BY 子句按客户分组数据,因此,函数调用 COUNT(orders.order_num) 对每个客户的订单计数,将它作为 num_ord 返回。
聚集函数也可以方便地与其他联结一起使用。请看下面的例子:
输入:
select customers.cust_name,customers.cust_id,count(order_num) as num_ord from customers left outer join orders on customers.cust_id = orders.cust_id group by custo,=mers.cust_id;
输出:
分析:这个例子使用左外部联结来包含所有客户,甚至包含那些没有任何下订单的客户。结果显示也包含了客户 Mouse House ,它有 0 个订单。
以上是mysql使用带聚集函数的联结的详细内容。更多信息请关注PHP中文网其他相关文章!