select  id
        ,sum(case when type=1 then count  end)  as income
        ,sum(case when type=2 then count  end)  as expenses
from  tableA
                    计算tableA表中type列有两种类型,计算每个id的每种类型的count和    id      type      count     1       1         10     2       2          5     1       1          8     4       2          9方法:select  id        ,sum(case when type=1 then count  end)  as income        ,s
				
本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换两列数据的方法、子查询的应用、decode函数的用法。希望文章对你有所帮助~ 1.创建数据库表及插入数据 2.子查询统计不同性质的学生总数 3.一行数据转换两列数据 union all 4.表行列数据转换(表转置) 1.创建数据库表及插入数据 创建数据库、创建学生表并设置...
declare @table table (name nvarchar(4))insert into @tableselect '张三' union allselect '李四' union allselect '王五' union allselect '刘三' union allselect '杨二' union allselect '胡八' union allselect '赵六' --方法...
ORDER BY 和 WHERE并用时 SELECT 的执行顺序: FROM ---WHERE ---GROUP BY----HAVING---- SELECT----ORDER BY 二、指定升序和降序 省略关键字会默认升序进行排列。 升序关键字:ASC ascendent上升的 降序关...
1.group by与聚合函数 group by一般与聚合函数一起使用。这是因为group by之后结果集就变了多个分组,而每个分组可能包含多条记录,要想针对每个分组进行操作,所以必须使用可以作用在多条记录上的聚合函数。比如,下面的示例就使用了group by和聚合函数查询每个name的总记录数,sql语句如下: SELECT NAME,COUNT(*) FROM USER GROUP BY NAME; 要对分组后的结果进行筛选,一般使用having语句来实现,sql语句如下: select SUBSTRING(Birth,1,CHARINDEX('/',Birth)-1), SUBSTRING(Birth,CHARINDEX('/',Birth)+1,CHARINDEX('/',Birth,CHARINDEX('/',Birth)+1)-(CHARINDEX('/',Birth)+1)), SU...
可以使用 SUBSTRING 函数将一个字段拆分两个字段。例如,如果要将字段 name 拆分姓和名两个字段,可以使用以下 SQL 语句: SELECT SUBSTRING(name, 1, CHARINDEX(' ', name) - 1) AS 姓, SUBSTRING(name, CHARINDEX(' ', name) + 1, LEN(name) - CHARINDEX(' ', name)) AS 名 FROM 表名; 其中,SUBSTRING 函数用于截取字符串,第一个参数是要截取的字段名,第二个参数是起始位置,第三个参数是要截取的长度。CHARINDEX 函数用于查找字符串中某个字符的位置,LEN 函数用于获取字符串的长度。