0

我有一个结构如下的数据库。

id          date                    ip          pack    type    set
114879  Sep 20 19:27:18             4.2.2.2     317032  flows/s 1
114880  Sep 20 19:32:22             4.2.2.2     446906  flows/s 1
114881  Sep 20 19:32:22             8.8.8.8     446906  bits/s  1
118215  Sep 20 21:07:43             4.2.2.2                     0
114879  Sep 20 21:27:18             4.2.2.2     317032  flows/s 1
114880  Sep 20 21:32:22             4.2.2.2     446906  flows/s 1

我想按日期( min - max )对 mysql 的结果进行分组,但这将由其他三列确定:

  • set= 1 - 将低于最小日期,最大日期将从列中设置set= 0
  • ip-如果将是“flows/s”、“bits/s”或“packets/s”之一,id则必须是唯一的type
  • ip- 计算最小日期和最大日期之间的 ip 数量
  • type- 将显示在ip
  • 如果ip正在接收“flows/s”和“bits/s”,这将显示:

.

DateMin            DateMax            CountIp      ip            PackMin      PackMax       type
Sep 20 19:27:18    Sep 26 23:58:13    176798       4.2.2.2                    99987         flows/s
Sep 20 19:27:20    Sep 26 23:58:13    176798       4.2.2.2                    99987         bits/s

如何在所描述的数据库上编写查询以实现我想要的输出?

4

1 回答 1

0

使用GROUP BYORDER BY关键字

(例如:如果你想要降序,则SELECT * FROM mytable GROUP BY feild1 ORDER BY feild2 ASC使用 USEDSC而不是)ASC

ASC= 上升,

DSC= 降序

于 2013-09-26T10:42:51.337 回答