本文着重展示连接查询中的综合运用
前言
连接查询中的分组统计是指综合使用连接查询、聚合函数和分组查询可以实现很多复杂的查询需求。下面的几个案例可以很好地体会出连接查询的强大功能
提示:以下是本篇文章正文内容,下面案例可供参考
案例一
统计每一家公交公司所属线路的站点总数
代码如下(示例):
SELECT company,COUNT(*)
FROM line_station ls,line l
WHERE ls.lineno=l.lineno
GROUP BY company
ORDER BY COUNT(*);
效果图如下:
本题首先要求显示每一家公司,在统计站点数,找到有相同条件带有公司和站点的表进行关联,然后分组显示公司,因为之前已经用函数统计了站点数,再将其进行排序即可。
案例二
计算经过站点“解放大道古田四路”的公交线路的数量以及营运车辆数量
代码如下(示例):
SELECT COUNT(*),SUM(number)
FROM line_station ls,line l
WHERE ls.lineno=l.lineno
AND station='解放大道古田四路'
效果图如下:
用count显示经过解放大道古田四路公交线路,sum计算运营线路的车辆,其他操作同上一例题相似。
案例三
计算每条公交线路的司机人数,并显示司机人数大于 3 的分组信息,按司机人数逆序显示;
代码如下(示例):
SELECT lineno,COUNT(*)
FROM driver d,vehicle v,line l
WHERE d.driverid=v.driverid
AND v.lineid=l.lineid
GROUP BY lineno
HAVING COUNT(*)>3
ORDER BY COUNT(*) DESC
效果图如下:
先要列出每条线路,搜索司机人数就要关联三个表,分组显示线路,分组之后再加条件就是要用having进行过滤显示,后街排序。
总结
本文展示了怎么应用mysql知识轻松查询数据库,轻松利用select语句找到自己想要的。