利用sql语句来统计用户登录数据的实践

news2024/11/23 15:18:30

目录

  • 1 基本数据情况
  • 2 统计每个用户每个月登录次数
  • 3 将日期按月显示在列上
  • 4 总结

1 基本数据情况

当需要对用户登录情况进行统计时,SQL是一个非常强大的工具。通过SQL,可以轻松地从数据库中提取和汇总数据,并以适合分析和报告的方式进行呈现。

在这个示例中,我们有一个名为t_login的表,包含了用户登录的记录。字段有id,user,logintime,department,其中logintime是datetime格式,包括了年月日时分秒信息。具体数据如下表。

id用户时间部门
1黑熊怪2021-08-05 17:20:00行政部
2黑熊怪2021-09-22 17:26:00行政部
3黑熊怪2021-09-26 09:55:00行政部
4黑熊怪2021-09-26 10:08:00行政部
5黑熊怪2022-04-13 15:01:00行政部
6唐僧2022-10-24 13:45:00开发部
7唐僧2022-10-24 15:07:00开发部
8唐僧2022-10-26 10:44:00开发部
9唐僧2022-11-07 14:28:00开发部
10唐僧2023-02-24 08:43:00开发部
11唐僧2023-03-07 10:14:00开发部
12悟空2022-12-26 10:33:00开发部
13八戒2022-10-25 11:16:00开发部
14八戒2022-11-13 08:54:00开发部
15白骨精2021-11-22 14:47:00开发部
16沙僧2021-08-18 14:44:00市场部
17沙僧2022-05-07 09:12:00市场部
18沙僧2022-05-11 10:41:00市场部
19沙僧2022-05-11 14:27:00市场部
20白龙马2023-07-12 09:39:00财务部
21白龙马2023-07-13 10:59:00财务部
22白龙马2023-07-19 15:04:00财务部

针对此数据,我们有两种不同的需求:首先是统计每个用户每个月登录的次数,其次是将登录日期按月显示在列上。

2 统计每个用户每个月登录次数

针对这个需求,我们可以按照以下步骤来实现:

  1. 使用GROUP BY语句将数据按照部门、用户、年份和月份进行分组。
  2. 使用COUNT函数统计每个组合中的登录次数。
  3. 最后,按照部门、用户、年份和月份的顺序进行排序。
SELECT
    department,
    `user`,
    DATE_FORMAT(logintime, '%Y-%m') AS `year_month`,
    COUNT(*) AS count
FROM
    t_login
GROUP BY
    department,
    `user`,
    `year_month`
ORDER BY
    department,
    `user`,
    `year_month`;

查询结果展示
在这里插入图片描述

3 将日期按月显示在列上

对于第二个需求,我们可以通过将日期作为列名,统计每个用户在每个月的登录次数。这里的查询需要固定年份和月份,并将其转换为列名。

SELECT
    department,
    `user`,
    SUM(CASE WHEN YEAR(logintime) = 2021 AND MONTH(logintime) = 8 THEN 1 ELSE 0 END) AS '2021_8',
    SUM(CASE WHEN YEAR(logintime) = 2021 AND MONTH(logintime) = 9 THEN 1 ELSE 0 END) AS '2021_9',
    -- ...类似的逻辑,补充更多的年份和月份
    SUM(CASE WHEN YEAR(logintime) = 2023 AND MONTH(logintime) = 7 THEN 1 ELSE 0 END) AS '2023_7'
FROM
    t_login
WHERE
    (logintime >= '2021-08-01' AND logintime < '2023-12-01')
GROUP BY
    department,
    `user`
ORDER BY
    department,
    `user`;

查询结果如下

在这里插入图片描述

这两个示例SQL语句提供了满足两种需求的查询方法,并且可以用于导出数据并进一步分析或生成报告。

4 总结

本博客简要描述问题,说明针对用户登录情况的统计需求。 解释如何使用GROUP BYCOUNT函数统计每个用户每个月的登录次数,并提供相应的SQL语句。说明如何将日期按月显示在列上,展示每个用户在每个月的登录情况,并给出相应的SQL查询语句。结果展示和导出数据。提供示例查询结果,说明如何将数据导出到Excel或其他工具中进行分析。总结SQL的强大之处,指出其在数据统计和分析中的应用,并展望如何进一步优化和扩展这些查询以适应更多的需求场景。通过这样的博客结构,读者可以了解到在实际场景中使用SQL进行数据统计和分析的方法,并且能够根据不同需求调整查询,满足自身的数据处理要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1265908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解Object.defineProperty()方法

Object.defineProperty是一个用于定义或修改对象属性的方法。它提供了一种更底层和灵活的方式来定义属性&#xff0c;可以设置属性的配置&#xff08;如可枚举性、可配置性、可写性等&#xff09;&#xff0c;并且可以定义属性的getter和setter函数。 语法&#xff1a; Objec…

C语言数据结构之顺序表(上)

前言&#xff1a; ⭐️此篇博文主要分享博主在学习C语言的数据结构之顺序表的知识点时写的笔记&#xff0c;若有错误&#xff0c;还请佬指出&#xff0c;一定感谢&#xff01;制作不易&#xff0c;若觉得内容不错可以点赞&#x1f44d;收藏❤️&#xff0c;这是对博主最大的认可…

电脑资料删除后如何恢复?3个简单方法轻松恢复文件!

“我平常喜欢在电脑上保存很多学习资料&#xff0c;但由于资料太多&#xff0c;在清理电脑时我可能会误删一些比较有用的资料。想问问大家电脑资料删除后还有机会恢复吗&#xff1f;应该怎么操作呢&#xff1f;” 在数字化时代&#xff0c;很多用户都会选择将重要的文件直接保存…

【算法刷题】Day8

文章目录 202. 快乐数解法&#xff1a; 11. 盛最多水的容器解法&#xff1a; 202. 快乐数 原题链接 拿到题&#xff0c;我们先看题干 把一个整数替换为每个位置上的数字平方和&#xff0c;有两种情况&#xff1a; 重复这个过程始终不到 1&#xff08;无限死循环&#xff09;结…

【计算机网络学习之路】序列化,反序列化和初识协议

文章目录 前言一. 序列化和反序列化1.自己实现2. JSON 二. 初识协议结束语 前言 本系列文章是计算机网络学习的笔记&#xff0c;欢迎大佬们阅读&#xff0c;纠错&#xff0c;分享相关知识。希望可以与你共同进步。 本篇博文讲解应用层的序列化和反序列化&#xff0c;还有见一…

笔记:Pika Labs 3D 动画生成工具

Pika Labs 一款3D 动画生成工具 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134657306 目 录 1. 简介2. 准备2.1 安装 discord2.2 加入 Discord 频道 3. Pika 使用指南2.1 快速开始2.2 从图像到视频2.3 Pika Bot按钮2.4 提示&#xff08;Prompt&a…

【代码】数据驱动的多离散场景电热综合能源系统分布鲁棒优化算法matlab/yalmip+cplex/gurobi

程序名称&#xff1a;数据驱动的多离散场景电热综合能源系统分布鲁棒优化算法 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 代码简介&#xff1a;数据驱动的分布鲁棒优化算法。考虑四个离散场景&#xff0c;模型采用列与约束生成(CCG)算法进行迭代求解&#xff0c;场景分…

选择更灵活的设计工具:SOLIDWORKS 软件网络版与单机版的比较

随着科技的飞速发展&#xff0c;工程设计领域对于高效、灵活的设计工具需求日益增加。SOLIDWORKS 作为一款广受欢迎的三维设计软件&#xff0c;提供了网络版和单机版两种选择。在本文中&#xff0c;我们将深入探讨这两个版本的区别&#xff0c;并为您详细介绍它们的价格差异。 …

前端面试灵魂提问

1.自我介绍 2.在实习中&#xff0c;你负责那一模块 3.any与unknow的异同 相同点&#xff1a;any和unkonwn 可以接受任何值 不同点&#xff1a;any会丢掉类型限制&#xff0c;可以用any 类型的变量随意做任何事情。unknown 变量会强制执行类型检查&#xff0c;所以在使用一个…

openwrt配置SSL证书实现https加密访问

前言&#xff1a;目前来看这个用处不是很大&#xff0c;因为只能访问一个端口&#xff0c;且因为80和443都已经被运营商封了&#xff0c;所以访问时还是得带端口。以下以阿里云证书为例&#xff1a; 一、申请证书 这个很简单&#xff0c;不想去截图了&#xff0c;直接去申请你…

【设计模式-2.2】创建型——简单工厂和工厂模式

说明&#xff1a;本文介绍设计模式中&#xff0c;创建型设计模式中的工厂模式&#xff1b; 飞机大战 创建型设计模式&#xff0c;关注于对象的创建&#xff0c;本文介绍的简单工厂和工厂模式同样也是。举一个游戏例子&#xff0c;如飞机大战游戏中&#xff0c;屏幕中敌人类型…

android viewpager 禁止滑动

android viewpager 禁止滑动 前言一、viewpager 禁止滑动是什么&#xff0c;有现成方法吗&#xff1f;二、使用setOnTouchListener三、使用自定义viewpager总结 前言 本文介绍了本人有一个相关的需求需要实现这一功能&#xff0c;在过程中发现自己之前没做过&#xff0c;然后记…

【带头学C++】----- 八、C++面向对象编程 ---- 8.5 struct结构体类型增强使用说明

目录 8.5 struct结构体类型增强使用说明 8.5.1 C结构体可以定义成员函数 8.5.2 c中定义结构体变量可以不加struct关键字 8.6 bool布尔类型关键字 8.5 struct结构体类型增强使用说明 第六章对结构体的使用、内存对齐以及数组、深拷贝和浅拷贝进行了一个详细的说明&#xff0c…

统信UOS_麒麟KYLINOS上使用远程SSH连接的工具electerm

原文链接&#xff1a;统信UOS/麒麟KYLINOS上使用SSH工具electerm Hello&#xff0c;大家好啊&#xff01;在我们日常的工作和学习中&#xff0c;远程控制和管理服务器已经成为一项常见且必要的技能。尤其是对于IT专业人士和开发者来说&#xff0c;一个高效、稳定的远程SSH连接工…

智能AI系统ChatGPT网站系统源码+Midjourney绘画+支持DALL-E3文生图,支持最新GPT-4-Turbo模型

一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…

漏洞扫描-德迅云安全漏洞扫描服务

漏洞扫描是指基于漏洞数据库&#xff0c;通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测&#xff0c;发现可利用漏洞的一种安全检测的行为。 漏洞扫描的主要目的是发现系统、网络或应用程序中可能存在的安全漏洞和缺陷&#xff0c;以便及时修复这些漏洞和缺…

基于STM32单片机的智能家居系统设计(论文+源码)

1.系统设计 基于STM32单片机的智能家居系统设计与实现的具体任务&#xff1a; &#xff08;1&#xff09;可以实现风扇、窗帘、空调、灯光的开关控制&#xff1b; &#xff08;2&#xff09;具有语音识别功能&#xff0c;可以通过语音控制家电&#xff1b; &#xff08;3&a…

Pytorch:torch.utils.data.DataLoader()

如果读者正在从事深度学习的项目&#xff0c;通常大部分时间都花在了处理数据上&#xff0c;而不是神经网络上。因为数据就像是网络的燃料&#xff1a;它越合适&#xff0c;结果就越快、越准确&#xff01;神经网络表现不佳的主要原因之一可能是由于数据不佳或理解不足。因此&a…

【人工智能】人工智能的技术研究与安全问题的深入讨论

前言 人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。 它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是新一轮科技革命和产业变革的重要驱动力量。 &#x1f4d5;作者简介&#x…

vscode注释插件「koroFileHeader」

前言 在vscode上进行前端开发&#xff0c;有几个流行的注释插件&#xff1a; Better CommentsTodo TreekoroFileHeaderDocument ThisAuto Comment Blocks 在上面的插件中我选择 koroFileHeader 做推荐&#xff0c;原因一是使用人数比较多&#xff08;最多的是 Better Commen…