postgre数据库如何实现行转列

postgre数据库如何实现行转列,第1张

表结构及数据

 

  select logdatetime,sum(login) as login,sum(logo) as logo

from(

  SELECT date(logdatetime) AS "logdatetime", case logfrom when "login‘ then COUNT(id) else 0 end AS "login",

  case logfrom when ‘logo‘ then COUNT(id) else 0 end AS "logo"

  FROM "log" WHERE date(logdatetime) >= ‘2014-11-04‘ AND date(logdatetime) <= ‘2014-11-05‘ GROUP BY "logdatetime", "logfrom"

  ) T

  GROUP BY "logdatetime"

  ORDER BY "logdatetime" ASC

PGSQL多行聚合,PGSQL多行合并为一行,PGSQL多行合并

《PostgreSQL 多行变一行》

《PostgreSQL官方文档-聚集函数》

array_agg(distinct(字段名)) 去重后可以获得拼接唯一的字段


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10081359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存