场景

比如,有一个服务器记录的表(server_mst),表中记录了服务器的用途和使用人,如下所示:

idserver_ipuseuser
0172.16.0.2testjam
1172.16.0.2devjak
2172.16.0.3onlineboss
3172.16.0.4onlineboss

从上表中可以看出,一台服务器可能用作多个用途,一个用途也可能需要多台服务器,所以我们常会需要进行某些统计,例如,统计复用的机器有哪些,或者占用服务器超过某个数量的功能用途是哪些。这些需求本质上来讲就是查询统计条目大于某个值的记录。

示例

在本例中,我们查询被复用的机器有哪些(所谓被复用,在本例中即为统计条目大于1的记录),以下为SQL查询语句:

SELECT * FROM server_mst WHERE server_ip IN (
SELECT server_ip FROM server_mst GROUP BY server_ip HAVING COUNT(server_ip) > 1
);
Logo

更多推荐