mysqlsumcasewhen的简单介绍

本篇文章给大家谈谈mysqlsumcasewhen,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

mysql按照两个时间段求记录总数,求大佬告知

-- by 腊蔽sleest 2018/01/19

select areaID,

   sum(case when datediff(begindate, enddate)  3 

         升则       then 1 else 0 end) as lt3, -- 小于3

       sum(case when datediff(begindate, enddate)  3 

                吵局棚then 1 else 0 end) as gt3, -- 大于3

       sum(case when datediff(begindate, enddate)  6 

then 1 else 0 end) as gt6, -- 大于6

       sum(case when datediff(begindate, enddate)  9 

                then 1 else 0 end) as gt9, -- 大于9

       sum(case when datediff(begindate, enddate)  6 

                 and datediff(begindate, enddate) = 9 

                then 1 else 0 end) as gt6_le9 -- 大于6小于等于9

  from user

 group by areaID

[img]

MySql查询条件问题

标兆银准的方法是使用UNION联合或者CASE,我认为CASE最好,联合的结果被混淆了,我写一个CASE的例子你试试看:

select

sum(case when `id1`=1 and `check`='b' then 1 else 0 end) cnt1,

sum(case when `id2`=0 and `check`='b' then 1 else 0 end) cnt2,

sum(case when `id3`=1 and `check`='液盯c' then 1 else 0 end) cnt3,

from `table`;

语句输出的结果是这样的,族埋宴非常直观吧:

cnt1 cnt2 cnt3

2 3 5

求教一个mysql的查询语句

按照你的意思,就是说今天的收入1+收入2-(支出1+支出2),然后保留大于0的,并且显示剩余的金额是多少,是这个意思吧。

先写sum的部分,如果直接写全的话发不闹昌上来。

sum(case when 类型字备此段=1 or 类型字段=2 then 金额 else 0-金额 end) as jtsr

这样当类型字段为收入时,为正数,支出时为负数,二者相加就是收入-支出

后面就是 where 限定时间 group by 绑定的用户ID字段 having jtsr0

这样就可以了,如果不是很明白,那么子查询也可以写出来

(1)把类型字段为3和4的金额变为负数

(2)根据绑定的用户ID字段求sum(金液滚扒额)

(3)判断sum(金额)0,然后显示

mySQL查询语句行转列横向显示

我仅提供思路给你,至于其它单位,可以单独摘录仿含出来,union all

select 始发地 目的地 起步价,sum(case when 区间 0 and 区间 = 20 then 单位价格 else '' end) '0-20(公斤)' ,

sum(case when 区间 20 and 区间 = 50 then 单位价格 else '' end) '20-50(公斤)' ,

sum(case when 区间 50 and 区间 = 100 then 单位价格配大败 else '' end) '培颤50-100(公斤)' from (你的sql语句) t group by t.始发地 ,t.目的地 ,t.起步价

Mysql中查询(数据库中的)纵向转(查询结果显示为)横向.

1、在mysql环境,创建数据库表,

create table test_data1(id int, name VARCHAR(20), day VARCHAR(20))

2、插渗乱咐入测试陪信数据,

insert into test_data1 values(1,'liu',1);

insert into test_data1 values(2,'liu',3);

insert into test_data1 values(3,'wang',1);

insert into test_data1 values(4,'wang',2);

insert into test_data1 values(4,'wang',4);

3、查询表中数据,select * from test_data1;

4、编写目标sql;

select name, 

     max(case when day=1 then 1 end) d_1,

 丛纯    max(case when day=2 then 2 end) d_2,

     max(case when day=3 then 3 end) d_3,

     max(case when day=4 then 4 end) d_4

from test_data1 t group by name

mysql数据库的这个数据统计sql语句怎么写??

create table aa(

typeId int,

name varchar(20))

create table bb(

id  int ,

name  varchar(20),

typeId int ,

num int ,

m int 

)

insert into aa values(1,'自行车'),(2,'摩托车'),(3,'小汽车'),(4,'其它')

insert into bb values

(1,'li',1,1,500),

(2,'li',2,2,5000),

(3,'li',3,1,50000),

(4,'wanger',1,1,450),

(5,'wanger',2,1,5600)

select bb.name,

 sum(case  when aa.name ='自行车' then  芹前键 bb.num

  else 0 

  end ) as [自行车num],

   sum(case  when aa.name ='自行车' then   bb.m

  else 0 

  end ) as [自行车m],

 

 

 悔敬sum(case  when aa.name ='摩托车' then   bb.num

  else 0 

  end ) as [摩托车num],

   sum(case  when aa.name ='摩托车' then   bb.m

  else 0 

  end ) as [摩托车m],

  

  

  sum(case  when aa.name ='小汽车' then   bb.num

  else 0 

  end ) as [小汽车num],

   sum(case  when aa.name ='小汽车' then   bb.m

  else 0 

  end ) as [小汽车m],

  

  

  sum(case  when aa.name ='其它' then   bb.num

  else 0 

  end ) as [其它num],

   sum(case  when aa.name ='其它' then   bb.m

  else 0 

  end ) as [其它m] ,

 嫌巧 

   sum(bb.num) as [Allnum],

   sum(bb.m ) as [Allm] 

 from aa right  join bb on aa.typeId=bb.typeId

group by bb.name 

truncate table aa

drop table aa

truncate table bb

drop table bb

 

 go

mysql 脚本的方法,请对照这个 sql server脚本去修改,如有疑问,及时沟通

关于mysqlsumcasewhen和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表