Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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,我想要一个mysql查询,在数据库中搜索多个相同的条目 例如: **Username Access_point Mac_address Authdate** ALAIN AP01 00:00:00:00:00 2013-11-22 05:00:01 ALAIN AP01 00:00:00:00:00 2013-11-22 04:59:10 ALAIN AP02

我想要一个mysql查询,在数据库中搜索多个相同的条目

例如:

**Username    Access_point  Mac_address            Authdate**

 ALAIN          AP01       00:00:00:00:00    2013-11-22 05:00:01
 ALAIN          AP01       00:00:00:00:00    2013-11-22 04:59:10
 ALAIN          AP02       00:00:00:00:00    2013-11-22 04:59:01
 ALAIN          AP01       00:00:00:00:00    2013-11-22 04:58:50
 ALAIN          AP03       00:00:00:00:00    2013-11-22 04:57:55
 ALAIN          AP01       00:00:00:00:00    2013-11-22 04:50:01
 ALAIN          AP02       00:00:00:00:00    2013-11-22 03:00:01
我想要一个查询,其中列出了我相同的行(除了Authdate),并返回一个用户名为GroupBy的查询,以查看ALAIN上一小时在AP01上连接了多少次

我不知道你是否清楚

我试过这样做:

SELECT COUNT(username), username, (access_point), access-point, (mac_address), mac_address 
FROM table 
HAVING COUNT(username) > 1 
AND COUNT(access_point)> 1 
AND COUNT(mac_address) > 1
GROUP BY username

谢谢你的帮助。

我不知道你的表格叫什么——在你的例子中,它只是叫“表格”,但我想你在粘贴到SO中时改变了这一点

如果要计算过去一小时内所有访问点上所有用户的连接数,可以使用以下查询:

SELECT 
    COUNT(*) AS NumberOfConnections, Username, Access_Point
FROM
    table
WHERE
    Authdate > DATE_SUB(Authdate, INTERVAL 1 HOUR)
GROUP BY
    Username, Access_Point;
如果您只需要AP01上ALAIN的数据,则应为:

SELECT 
    COUNT(*) AS NumberOfConnections, Username, Access_Point
FROM
    table
WHERE
    Authdate > DATE_SUB(Authdate, INTERVAL 1 HOUR)
AND
    Username = 'ALAIN'
AND
    Access_Point = 'AP01'
GROUP BY
    Username, Access_Point;

这个表的主键是什么?主键是ID和mac_address该表仅在ALAIN授权时存储(在AuthDate列中)-从您发布的字段中,我认为我们无法准确地说出ALAIN连接了多长时间。还有其他专栏吗?我不想知道多长时间,但想知道有多少次。因此,在我的示例中,查询必须返回-->ALAIN AP01等的计数(4)……您是否只需要过去一小时内的连接数?我包含了一些代码来实现这一点,但是上面的数据非常旧,因此如果您针对这些数据运行我的代码,它可能不会返回任何内容。希望没问题,如果没有,请告诉我,我可以调整。