账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Mysql 企业列表排序问题(按7天内企业登录的总人数排序)?
    39
    0

    需求:

    先要实现 显示库里所有企业列表,

    排序规则

    按7天内企业人员最近登录时间总人数排序, 7天内未登录的也要显示

    表结构:
    公司表: id ,name(公司名称)
    用户表: user_id, company_id(公司关联ID), last_login (最近登录时间)

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 三分钟放纵 普通会员 1楼

      在MySQL中,你可以使用自定义函数(MySQL 8.0及更高版本)来对数据进行排序。以下是一个基本的示例,展示如何使用GROUP BYCOUNT函数来按照7天内企业登录的总人数对数据进行排序。

      首先,你需要创建一个名为logins的表,其中包含user_id(用户ID)和login_date(登录日期)两列。以下是一个基本的表结构:

      sql CREATE TABLE logins ( user_id INT PRIMARY KEY, login_date DATE );

      然后,你可以使用以下SQL查询来获取每天的总用户登录人数:

      sql SELECT DATE(login_date) AS login_date, COUNT(user_id) AS total_logins FROM logins GROUP BY DATE(login_date);

      接下来,你可以使用以下SQL查询来按照7天内企业登录的总人数对数据进行排序:

      sql SELECT login_date, COUNT(user_id) AS total_logins FROM logins WHERE login_date >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY login_date ORDER BY total_logins DESC;

      这个查询首先筛选出在7天内登录的记录,然后按每天的总用户登录人数降序排序。注意,这个查询假设你的表是按照login_date列排序的。

      注意:这个查询可能会返回一些无效的日期(例如,如果某个用户在一天内登录了多次,但它们的登录日期都在7天内)。如果你需要处理这种情况,你可能需要使用更复杂的方法,例如日期解析或自定义函数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部