我有一个数据库,结构如下。
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
- 如果id
将属于type
,则ip
之类的内容必须是唯一的
"流/秒""位/秒"或"数据包/ s" type
- 计算最小日期和最长日期之间的IP数量ip
- 将显示ip
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
正在接收"流量/ s"和" bits / s"这将显示:
{{1}}
如何在描述的数据库上编写查询以实现我想要的输出?
答案 0 :(得分:0)
使用GROUP BY
和ORDER BY
关键字
(e.x:SELECT * FROM mytable GROUP BY feild1 ORDER BY feild2 ASC
USE DSC
代替ASC
,如果您想要降序的话)
ASC
=升序,
DSC
=降序