正在获取表中重复记录出现次数的计数

  • 本文关键字:记录 获取 mysql sql
  • 更新时间 :
  • 英文 :


在我的一个表中,我存储用户登录时的详细信息。

我想得到每个用户的重复出现次数。表示用户x、y、z已经登录了多少次。

SELECT count( id )
FROM user_stat
GROUP BY id

这只是给出了计数值。

1     id        varchar(64)     latin1_swedish_ci         Yes     NULL         Change Change     Drop Drop     More Show more actions
2     login     varchar(64)     latin1_swedish_ci         Yes     NULL         Change Change     Drop Drop     More Show more actions
3     city      varchar(128)    latin1_swedish_ci         Yes     NULL         Change Change     Drop Drop     More Show more actions
4     ip        varchar(128)    latin1_swedish_ci         Yes     NULL         Change Change     Drop Drop     More Show more actions
5     logout    varchar(64)     latin1_swedish_ci         Yes     NULL         Change Change     Drop Drop     More Show more actions
6     diff      varchar(64)     latin1_swedish_ci         Yes     NULL         Change Change     Drop Drop     More Show more actions
7     username  varchar(64)     latin1_swedish_ci         Yes     NULL         Change Change     Drop Drop     More Show more actions

我想统计每个id的重复出现细节。表示id为x的人登录的次数。

这可能吗?

按login_id从table_name组中选择count(login_id)、login_id;

Here login_id means users_login_id. try it

如果你想要用户登录次数的用户信息,请在qry下面尝试
试试这个:-

SELECT count( id ),username,id 
FROM user_stat
GROUP BY id

如果您愿意,您可以添加更多列。

我不确定"每个id的详细信息"是什么意思。如果"意味着有多少次id为x的人",那么下面的查询就是您想要的。

SELECT id, count(id)
FROM user_stat
GROUP BY id

顺便说一句,您的表格设计不是标准化。它应该分成两张桌子。一个用于login information,一个用于user info,所以下面会更好。

user_tbl(user_id, user_name);
user_stat(user_id, login, city, ip, logout, diff)

然后你的查询可以这样转换:

SELECT user_tbl.user_id, user_tbl.user_name,  COUNT(*)
FROM user_tbl JOIN user_stat USING(user_id)
GROUP BY user_tbl.user_id, user_tbl.user_name

最新更新