mysql - 显示每个用户的操作数,按操作 ID 分组

标签 mysql sql django-admin

我做了以下查询来解决这个问题:计算每个用户执行了多少操作(Django 管理员)。

SELECT Count(l.id),
       u.username, 
       u.first_name, 
       u.last_name, 
       u.is_staff 
FROM   django_admin_log l, auth_user u
WHERE  u.id = l.user_id
GROUP  BY u.id 
ORDER  BY 1 DESC;

现在我想显示每个用户执行的操作数,按操作 ID 分组。这个想法与上面的查询相同,但知道它们的操作类型。

django_admin_log表结构:

+-----------------+----------------------+------+-----+---------+----------------+
| Field           | Type                 | Null | Key | Default | Extra          |
+-----------------+----------------------+------+-----+---------+----------------+
| id              | int(11)              | NO   | PRI | NULL    | auto_increment |
| action_time     | datetime             | NO   |     | NULL    |                |
| user_id         | int(11)              | NO   | MUL | NULL    |                |
| content_type_id | int(11)              | YES  | MUL | NULL    |                |
| object_id       | longtext             | YES  |     | NULL    |                |
| object_repr     | varchar(200)         | NO   |     | NULL    |                |
| action_flag     | smallint(5) unsigned | NO   |     | NULL    |                |
| change_message  | longtext             | NO   |     | NULL    |                |
+-----------------+----------------------+------+-----+---------+----------------+

谢谢:)

最佳答案

您应该对不在聚合函数中的列进行分组 在你的情况下,你应该按用户分组..实例

  SELECT Count(l.id),
         u.username, 
         u.first_name, 
         u.last_name, 
         u.is_staff 
  FROM   django_admin_log l, auth_user u
  WHERE  u.id = l.user_id
  GROUP  BY  
          u.username, 
         u.first_name, 
         u.last_name, 
         u.is_staff 
  ORDER  BY 1 DESC;

关于mysql - 显示每个用户的操作数,按操作 ID 分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44419478/

相关文章:

sql - 有条件 根据 CASE 语句的返回值执行条件

mysql - SQL查询性能优化——取对应A的max(B)

sql - 查询不返回在另一个 [associative] 表中没有相应值的表中的行

python - Django 如何覆盖默认表单错误消息

php - Laravel 3、mysql 或 redis down 显示空白屏幕而不是重定向到 500 错误屏幕

php - 使用 REGEXP 在 MySQL 中进行不区分大小写的搜索

mysql - 如何为 MySQL 中的每个新人分配重新启动的自动递增 ID?

mysql - 能否将 INSERT INTO 和 Last_Insert_ID 组合在一个 SQL 语句中

django - 设置模型的 __unicode__ 以在管理中显示 html 标签

python - 如何在 django admin 中订购只读 M2M 字段