晚上回来,同学说面试遇到了一个SQL面试题目,自己做了一下,总结总结. 题目如下: 下面是产品数据表(产品id,颜色col,数量num),其中每种产品有1~2种颜色. 求每种产品各颜色的数量差值(对于只有一种颜色的保留产品总数) 解法如下: 1.先求出每种产品各颜色的数量 这个不难,直接使用group by 就可以啦.SQL语句如下: select id,col,sum(num) total from chanpin group by id,col 结果: 2.求每种产品各颜色的数量差值(对于只…
一. 1.我们经常需要汇总数据而不用把他们实际检索出来,为此SQL提供了专门的函数,以便于分析数据和报表生成,这些函数的功能有: (1)确定表中行数(或者满足单个条件或多个条件或包含某个特定值的行数). (2)获得表中某些行的和 (3)找出表列(或所有行或某些特定的行)的最大值.最小值.平均值. 上述功能都需要汇总表中的数据,而不需要实际数据本身.因此返回实际表数据纯属浪费时间和处理资源(更不用说带宽了). 2.下面是SQL提供的5个常用的聚集函数 (1)AVG()      ---返回某列的平…
摘要:本文从基本聚集操作入手,介绍常用的SQL语法,以及一些扩展的聚集功能,同时会讲到在GaussDB(DWS)里聚集相关的一些优化思路. 本文分享自华为云社区<GaussDB(DWS) SQL进阶之SQL操作之聚集函数>,作者:两杯咖啡. 聚集操作是SQL语言中除扫描.投影.连接外的另一个常用基本操作,主要用于对海量数据进行分组,然后在组内进行统计计算的场景.在AP场景下,经常面临海量数据处理的场景,而最终用户希望通过海量数据获取汇总信息,聚集操作的使用将更加广泛.本文从基本聚集操作入手,介…
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90 A: select distinct name from table  where  name not in (select distin…
一道SQL的面试题之联想 本人工作在一家小型的民营企业,主要从事业务系统的日常维护,二次开发,菜鸟一枚.周五经理准备面试两个开发人员,据简历,都还比较不错,让经理产生了想法,于是准备了一套面试题目,给我们亮了一道SQL题目,非他之手,据出此题者说,如果面试者只能写出一种方法,基本可以pass.请读者仔细看题: 题目:如下表,用一条select语句求出所有课程在80分(含80分)以上的学生姓名,请写出所有可行方案.(注意:表名为sc,字段为name,kc,score) 这道题目并不陌生吧,相信大家…
作为一个刚毕业进入这行的菜鸟,婶婶的觉的那种大神.大牛到底是怎样炼成的啊,我这小菜鸟感觉这TMD要学的东西这多啊,然后就给自己定了许多许多要学习的东西,可是有人又不停地给你灌输:东西不在多而要精通!我也觉得很有道理,可是怎样才能精通呢?封神之路,在哪里啊 !!! 这一天没有一个安静的心,基本是学不进去了,发现自己还是太功利了,急功近利!也许你只要学就行,管他是否能够立即让人见识到你的厉害,技术和知识这种东西也许还是要强调一个 底蕴的.既然自己最烦那种看了两篇文章就给你扯淡的人,拿自己也许就该一样…
SQL 聚集函数使用 (2009-04-14 15:50:36) 转载▼   总结: 在SQL语句中同时包含where子句,groupby子句,having子句及聚集函数时的执行顺序: 1.按WHERE 在筛选记录. 2.GROUP BY 子句将WHERE 筛选出的记录进行分组 3.HAVING 将分组后的结果进行过滤. HAVING子句可以包含聚集函数,先用聚集函数运算再筛 在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚组函数,例如SUM, CO…
一道sql面试题(查询语句)   id name age 1  a        11 2  b        11 3  c        12 4  d        13 5  e        12 . . . 查询age唯一的那一个 这个应该怎么写 满意答案 热心问友 2010-10-14 select * from table1 where id not in (select age from table1 group by age having count(1)>1)   --Up…
聚集函数 1.AVG()函数 输入:SELECT AVG(prod_price) AS avg_price FROM Products 输出: 警告:只用于单个列AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出.为了获得多个列的平均值,必须使用多个AVG()函数.说明:NULL值AVG()函数忽略列值为NULL的行. 2.COUNT()函数 输入:SELECT COUNT(*) AS num_cust FROM Customers 输出: 说明:NULL值如果指定列名,则C…
今天要做一个查询统计功能,一开始有点犯难,上午尝试大半天才写出统计sql语句,才发现自己sql分组查询及聚集函数没学好:其实就是group by子句和几个聚集函数,熟练使用统计功能很简单.在此总结下今天查询统计是用到的几个sql函数. SQL聚集函数 sum函数 sum函数用于计算查询表中指定字段中所有 记录值的总和. 语法:sum(exp) 说明:该函数不计算包含Null 值的字段. 例:SELECT SUM(population) FROM bbc 这里的SUM作用在所有返回记录的 popu…