繁体   English   中英

MySQL Complex Query(分组依据)

[英]MySQL Complex Query (group by)

以下是我的查询:

SELECT date, eventype, count(*) AS count 
FROM vpnhistory WHERE partnername   REGEXP 'CESAR'
GROUP BY (UNIX_TIMESTAMP(date)) DIV 600;

我得到了什么:

+---------------------+--------------+---------+
| date                | eventype     | counter |
+---------------------+--------------+---------+
| 2016-09-30 12:42:41 | blocked      |       4 |
| 2016-10-03 10:55:55 | blocked      |       1 |
| 2016-10-03 13:43:01 | blocked      |       1 |
| 2016-10-04 15:17:19 | blocked      |       2 |
| 2016-10-04 15:21:03 | blocked      |       3 |

这是CESAR合作伙伴名称收到的总事件类型。

我的SELECT * FROM vpnhistory是:

+----------------------+---------------------+--------------+-------------+
| vpnname              | date                | eventype     | partnername |
+----------------------+---------------------+--------------+-------------+
| treinamento-12345678 | 2016-09-30 12:42:41 | blocked      | CESAR       |
| treinamento-45263748 | 2016-09-30 12:43:53 | unlock       | CESAR       |
| treinamento-92837465 | 2016-09-30 12:46:50 | unlock       | CESAR       |
| treinamento-92837465 | 2016-09-30 12:46:50 | unlock       | CESAR       |
| treinamento-92837465 | 2016-09-30 12:46:50 | unlock       | CESAR       |
+----------------------+---------------------+--------------+-------------+

我需要的例子如下:

How many eventype treinamento-92837465 exists? (inside partnername CESAR)
How many eventype treinamento-12345678 exists? (inside partnername CESAR)
SELECT date, eventtype, count(*)
FROM vpnhistory WHERE partnername   REGEXP 'CESAR'
GROUP BY date, eventtype

那是你要的吗? 我不明白你的第一个分组条款。

您需要将用于分组的字段添加到SELECT:

SELECT 
  date,
  eventype,
  count(*) AS count,
  (UNIX_TIMESTAMP(date)) DIV 600 AS group_field
FROM vpnhistory 
WHERE partnername   REGEXP 'CESAR'
GROUP BY group_field;

我得到了解决方案:

SELECT vpnname, date, eventype, count(*) AS counter
FROM vpnhistory 
WHERE partnername REGEXP 'CESAR'
GROUP BY (vpnname), (eventype), ((UNIX_TIMESTAMP(date)) DIV 600);

+--------------------------------------------+---------------------+--------------+---------+
| vpnname                                    | date                | eventype     | counter |
+--------------------------------------------+---------------------+--------------+---------+
| vpn-1234                                   | 2016-12-02 08:36:53 | blocked      |       1 |
| vpn-1234                                   | 2016-12-02 08:36:49 | unlocked     |       1 |
| vpn-1823781289371289378192983              | 2016-10-13 16:20:40 | blocked      |       1 |
| vpn-2983494879234789327233                 | 2016-10-19 09:27:13 | blocked      |       1 |
| vpn-2983494879234789327233                 | 2016-10-19 11:56:14 | unblocked    |       1 |
| vpn-9123898293383838                       | 2016-10-03 10:55:55 | blocked      |       1 |

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM