通过关联表的值的总和对sql表进行排序

时间:2014-01-13 14:55:49

标签: mysql sql

我有两张桌子:

Table 1: Connections
Columns: id, ip, in_bytes, out_bytes, protocol


Table 2: Clients
Columns: id, ip, network

我想列出按流量排序的网络。

我需要一个查询,它在一个请求中执行以下步骤:

  1. 查找每个网络的所有客户
  2. 使用此客户端的ip来获取当前网络的所有连接
  3. 当前网络的所有IP的SUM流量(Connections.in_bytes)以此总和对网络进行排序
  4. 任何人都可以帮忙创建SQL查询吗?

1 个答案:

答案 0 :(得分:1)

使用SUM进行简单连接?

SELECT a.id, a.ip, a.network, SUM(b.in_bytes + b.out_bytes) AS traffic
FROM Client a
INNER JOIN Connections b
ON a.ip = b.ip
GROUP BY a.id, a.ip, a.network
ORDER BY traffic