sql面试 case /union all】的更多相关文章

1.sum(case when results='胜' then 1 else 0 end) as '胜' 要求查询出结果: sql语句实现: select date, sum(case when results='胜' then 1 else 0 end) AS '胜', sum(case when results='负' then 1 else 0 end) AS '负' from game group by date; 2.成绩分等级(case when 条件 then 结果 when 条…
晚上回来,同学说面试遇到了一个SQL面试题目,自己做了一下,总结总结. 题目如下: 下面是产品数据表(产品id,颜色col,数量num),其中每种产品有1~2种颜色. 求每种产品各颜色的数量差值(对于只有一种颜色的保留产品总数) 解法如下: 1.先求出每种产品各颜色的数量 这个不难,直接使用group by 就可以啦.SQL语句如下: select id,col,sum(num) total from chanpin group by id,col 结果: 2.求每种产品各颜色的数量差值(对于只…
SQL Server函数---Union与Union All的区别 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来. union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复. Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: UNION在进行表链接…
最近使用SQL语句进行UNION查询,惊奇的发现:SQL没问题,UNION查询也没问题,都可以得到想要的结果,可是在对结果进行排序的时候,却出问题了. 1.UNION查询没问题 SELECT `id`,`username`,`mobile`,`time`,id AS leader FROM `grouporder_leader` WHERE `courseid` = 21 AND `merchid` = 23 AND `status` = 1 UNION ALL SELECT leadorder…
在使用到SQL语句进行数据库查询的过程中,如果需要求两个数据集合的并集,一般会使用到联合查询关键字Union或者Union All,其实Union和Union All两者的使用有一定差别,查出来的数据在有些情况下会不一样.Union对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序.Union All对两个结果集进行并集操作,包括重复行,不进行排序. 如果要求查出来的数据集不包含重复行,则使用Union.需要保留重复行的情况下,采取Union All语句. 备注:无论使用Union或…
http://www.cnblogs.com/kevin2013/archive/2010/07/02/1769682.html SQL利用Case When Then多条件判断SQL ,用于select,生成新字段,可以理解 另外,如何用于 update 多条件判断? http://www.cnblogs.com/kevin2013/archive/2010/07/02/1769688.html 此文尚未阅读…
阳性比例 mysql CASE UNION ALL SELECT t.*,t.type_0/all_ FROM ( SELECT FROM_UNIXTIME(create_time,'%Y-%m-%d %H') AS p , SUM(CASE WHEN status=0 THEN 1 ELSE 0 END )AS type_0, SUM(CASE WHEN status=13 THEN 1 ELSE 0 END ) AS type_13, SUM(1) AS all_ FROM mytest G…
刚入手公司项目,需要添加一个功能,用到了SQL的case when以及concat SELECT eve.cc, eve.sc, case concat(cc,sc) ' THEN '' ' THEN '得意先' ' THEN '仕入先' ' THEN '得意先/仕入先' ELSE '' END as client_supplier_class FROM ( SELECT bd0.id, bd0.created, bd0.creator, bd0.modified, bd0.modifier,…
1 SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P 等同于 1 SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY…
最近萌生换工作的念头,于是上网下载了一些公司的面试题,重新看了面试题中的Sql部分,这些查询题有时候只是兜一个弯角来考,对于给EF惯坏的孩子来说还是有点难度的(给面试官鄙视了几下的结果),所以列出最近感觉比较有意思的Sql查询题. 1.查询出子节点最多的NodeName,如下图的table, NodeName 子节点 节点1 1 节点2 2 节点3 1 节点3 1 节点3 1 节点4 2 节点4 3 ),parentId int) insert into @t , union all , uni…