统计查询2.txt 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. ===============================这是查询不同部门的账号人数======================================
  2. SELECT
  3. count(1),
  4. sys_dept.dept_name
  5. FROM frame_user
  6. LEFT JOIN sys_dept on sys_dept.id=frame_user.department
  7. GROUP BY frame_user.department
  8. // 不要企业数据
  9. SELECT
  10. count(1),
  11. sys_dept.dept_name
  12. FROM frame_user
  13. LEFT JOIN sys_dept on sys_dept.id=frame_user.department
  14. where sys_dept.parent_id !='1222530386878267392'
  15. GROUP BY frame_user.department
  16. ===============================这是查询不同部门的登录次数======================================
  17. SELECT
  18. sum( frame_user.logincount ) AS loginCount,
  19. sys_dept.dept_name
  20. FROM
  21. (
  22. SELECT
  23. frame_op_log.oper_name,
  24. frame_user.id,
  25. frame_user.department,
  26. count( 1 ) AS logincount
  27. FROM
  28. frame_op_log
  29. LEFT JOIN frame_user ON frame_user.username = frame_op_log.oper_name
  30. WHERE
  31. frame_op_log.error_msg = '登录正常'
  32. AND frame_user.id IS NOT NULL
  33. GROUP BY
  34. frame_op_log.oper_name
  35. ) AS frame_user
  36. LEFT JOIN sys_dept ON sys_dept.id = frame_user.department
  37. GROUP BY
  38. frame_user.department
  39. //加时间段
  40. SELECT
  41. sum( frame_user.logincount ) AS loginCount,
  42. sys_dept.dept_name
  43. FROM
  44. (
  45. SELECT
  46. frame_op_log.oper_name,
  47. frame_user.id,
  48. frame_user.department,
  49. count( 1 ) AS logincount
  50. FROM
  51. frame_op_log
  52. LEFT JOIN frame_user ON frame_user.username = frame_op_log.oper_name
  53. WHERE
  54. frame_op_log.error_msg = '登录正常'
  55. AND frame_user.id IS NOT NULL and frame_op_log.oper_at>='2024-12-02' and frame_op_log.oper_at<'2024-12-09'
  56. GROUP BY
  57. frame_op_log.oper_name
  58. ) AS frame_user
  59. LEFT JOIN sys_dept ON sys_dept.id = frame_user.department
  60. GROUP BY
  61. frame_user.department
  62. =================需要导出 合并2,加没有企业,和增加了时间============================
  63. select
  64. a.dept_name '部门名称',
  65. a.count '用户数量',
  66. b.loginCount '登录次数'
  67. -- a.*,b.*
  68. from
  69. (
  70. SELECT
  71. count(1) count,
  72. sys_dept.dept_name
  73. FROM frame_user
  74. LEFT JOIN sys_dept on sys_dept.id=frame_user.department
  75. where sys_dept.parent_id !='1222530386878267392'
  76. GROUP BY frame_user.department
  77. ) as a
  78. left join
  79. (
  80. SELECT
  81. sum( frame_user.logincount ) AS loginCount,
  82. sys_dept.dept_name
  83. FROM
  84. (
  85. SELECT
  86. frame_op_log.oper_name,
  87. frame_user.id,
  88. frame_user.department,
  89. count( 1 ) AS logincount
  90. FROM
  91. frame_op_log
  92. LEFT JOIN frame_user ON frame_user.username = frame_op_log.oper_name
  93. WHERE
  94. frame_op_log.error_msg = '登录正常'
  95. AND frame_user.id IS NOT NULL and frame_op_log.oper_at>='2024-12-09' and frame_op_log.oper_at<'2024-12-15'
  96. GROUP BY
  97. frame_op_log.oper_name
  98. ) AS frame_user
  99. LEFT JOIN sys_dept ON sys_dept.id = frame_user.department
  100. GROUP BY
  101. frame_user.department
  102. ) as b on b.dept_name=a.dept_name
  103. =================合并============================
  104. select * from
  105. (
  106. SELECT
  107. count(1) accountCount,
  108. sys_dept.dept_name
  109. FROM frame_user
  110. LEFT JOIN sys_dept on sys_dept.id=frame_user.department
  111. GROUP BY frame_user.department
  112. ) as a
  113. left join
  114. (
  115. SELECT
  116. sum( frame_user.logincount ) AS loginCount,
  117. sys_dept.dept_name
  118. FROM
  119. (
  120. SELECT
  121. frame_op_log.oper_name,
  122. frame_user.id,
  123. frame_user.department,
  124. count( 1 ) AS logincount
  125. FROM
  126. frame_op_log
  127. LEFT JOIN frame_user ON frame_user.username = frame_op_log.oper_name
  128. WHERE
  129. frame_op_log.error_msg = '登录正常'
  130. AND frame_user.id IS NOT NULL
  131. GROUP BY
  132. frame_op_log.oper_name
  133. ) AS frame_user
  134. LEFT JOIN sys_dept ON sys_dept.id = frame_user.department
  135. GROUP BY
  136. frame_user.department
  137. ) as b on b.dept_name=a.dept_name