Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL复杂查询(分组依据)_Mysql - Fatal编程技术网

MySQL复杂查询(分组依据)

MySQL复杂查询(分组依据),mysql,Mysql,以下是我的疑问: SELECT date, eventype, count(*) AS count FROM vpnhistory WHERE partnername REGEXP 'CESAR' GROUP BY (UNIX_TIMESTAMP(date)) DIV 600; 我得到的是: +---------------------+--------------+---------+ | date | eventype | counter | +

以下是我的疑问:

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 partnername收到的总事件类型

我的<代码>从VPN历史中选择*是:

+----------------------+---------------------+--------------+-------------+
| 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)
这就是你想要的吗?我不明白你的第一组条款


这就是你想要的吗?我不理解您的第一个group by子句。

您需要添加用于分组的字段以选择:

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 
  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 |
我得到了解决方案:

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 |

提供示例数据和预期数据。只需将eventtype字段添加到group by子句中。再次检查我的答案。主键是什么?提供示例数据和预期数据。只需将eventtype字段添加到group by子句中。再次检查我的答案。主键是什么?