MySQL数据库行列互换

如有如下表格:

                      仓库库存表(inventory)

仓库名称(name)

仓库库存(stock)

月份(month)

A

100

1

B

200

1

C

300

1

A

1000

2

B

2000

2

C

3000

2

行列互换为以下表格:

仓库名字(name)

一月份

二月份

A

100

1000

B

200

2000

C

300

3000

MySQL数据库行列互换:

使用if语句判断: if(表达式,v1,v2)

表达式为:

select 
        仓库名称,
        max(判断 月份=1 显示库存),  
        max(判断 月份=2 显示库存),
        max(判断 月份=3 显示库存) 
    from 表名
    group by 仓库名称;

注意:关于max这个也可以其他的,这里只是用作判断的嵌套。sum等也可以。

具体实现:

select name as 仓库名称,max(if(month='1’,stock,0)) as 一月份,max(if(month='2',stock,0)) as 二月份 from inventory group by 仓库名称;

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

KVM调整cpu和内存

一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid

mysql设置时区

mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0