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

这段时间要弄财务报表,遇到了一个动态行转列的问题,数据库用的是mysql的。感觉mysql实现动态行转列比mssql复杂多了。网上的都是处理的一个表(比较简单),而我要处理的数据来自于多个表,对于行转列的行也要进行一定的过滤处理,最后在自己的努力下,总算出来啦,附件是完整代码。这两个存储过程都是带输入参数的,一个对要转的行有处理,一个没有处理,两个例子,都放出来,希望可以给遇到同样问题的朋友一些帮助。

你的表还少一值,要有三列才行, 日期那列是几号,还少个如1号那天是什么值,加一列 如dateValue

select from tb pivot(max(dateValue) for日期 in([1],[2],[31]))a

这里,有一直加上去,到31,

给你个示例吧,>

以上就是关于postgre数据库如何实现行转列全部的内容,包括:postgre数据库如何实现行转列、MySQL数据库动态行转列、vb2005查询SQLServer数据库表并将行转列问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/9783310.html

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

发表评论

登录后才能评论

评论列表(0条)

保存