【问题标题】:Display number of actions by each user, grouped by the action ID显示每个用户的操作数,按操作 ID 分组
【发布时间】:2017-06-07 17:45:00
【问题描述】:

我做了以下查询来解决这个问题:计算每个用户执行了多少操作(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    |                |
+-----------------+----------------------+------+-----+---------+----------------+

谢谢:)

【问题讨论】:

    标签: mysql sql django-admin


    【解决方案1】:

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

      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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      相关资源
      最近更新 更多