Mysql 在数据库中搜索多个相同的条目
我想要一个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
**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)……您是否只需要过去一小时内的连接数?我包含了一些代码来实现这一点,但是上面的数据非常旧,因此如果您针对这些数据运行我的代码,它可能不会返回任何内容。希望没问题,如果没有,请告诉我,我可以调整。