zoukankan      html  css  js  c++  java
  • SQL语句利用case实现行转列

    数据库格式:
    name       subject    countnum
    狗尾       语文       30
    狗尾       数学       32
    狗尾       外语       0
    大熊       语文       40
    大熊       数学       50
    大熊       外语       38
    狗尾       语文       70


    实现目标:
    name       语文 数学 外语
    大熊       40      50      0
    狗尾       100    32      0

    实现语句:
    select name,语文=isnull(sum(case subject when '语文' then COUNTNUM end),0),
       数学=isnull(sum(case subject when '数学' then COUNTNUM end),0),
       英语=isnull(sum(case subject when '英语' then COUNTNUM end),0)
       from GOUGE
       group by NAME
       order by NAME

    通过case判断当前行的subject是不是语文,是的话就取counternum的值.
    外面再加个sum来取和

  • 相关阅读:
    内存
    jmeter设置全局变量
    tomcat(1)
    JVM(一)
    内存溢出
    消息中间件
    上下文切换(二)
    平均负载(二)
    requests模块
    Pycharm如何配置Git
  • 原文地址:https://www.cnblogs.com/madgoat/p/729445.html
Copyright © 2011-2022 走看看