You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Pivot查询优化:移除session_id并重命名登录登出列

优化后的Pivot查询方案

针对你的需求,调整后的SQL查询如下:

SELECT user, hostname, 
       `'login'` AS 登录时间, 
       `'logoff'` AS 登出时间
FROM (
    SELECT user, date, activity, hostname 
    FROM view
) t
PIVOT (
    MAX(date) FOR activity IN ('login', 'logoff')
) p

关键调整说明:

  • 子查询中移除了session_id字段,因为最终结果不需要展示它,且同一会话的登录/登出操作通过MAX(date)聚合后能准确对应到各自的时间
  • 主查询中给Pivot生成的默认列名'login'和'logoff'重命名为符合需求的“登录时间”和“登出时间”
  • 注意:不同数据库对带引号列名的处理略有差异,比如MySQL用反引号包裹,Oracle用双引号,可根据你使用的数据库类型调整包裹符号

内容的提问来源于stack exchange,提问作者nav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:55:42