一个简单的表TABLE 有100条以上的信息,其中包括:
产品 颜色 数量
产品1 红色 123
产品1 蓝色 126
产品2 蓝色 103
产品2 红色 NULL
产品2 红色 89
产品1 红色 203
…………

create table test
( 产品 char(10),颜色 char(5),数量 int
);
insert into test
values ('产品1','红色',123),('产品1','蓝色', 126),('产品2','蓝色',103),('产品2','红色',NULL),('产品2','红色',89),('产品1','红色',203),('产品3','红色',23),('产品3','蓝色',203);
/*按产品分类,仅列出各类商品中红色多于蓝色的商品名称及差额数量*/
select 产品, sum(if (颜色='红色',数量,0))- sum(if (颜色='蓝色',数量,0)) as 差额
from test
group by 产品
having  sum(if (颜色='红色',数量,0))> sum(if (颜色='蓝色',数量,0));
/*按产品分类,将数据按下列方式进行统计显示:产品,红色,蓝色*/
select 产品, sum(if (颜色='红色',数量,0)) as 红色总和,sum(if (颜色='蓝色',数量,0)) as 蓝色总和
from test
group by 产品;
/*以上问题复杂做法:*/
select x.cno,(x.数量-y.数量) as 差额
from (select cno,col,sum(num) as 数量from a group by cno,col) x,(select cno,col,sum(num) as 数量from a group by cno,col) y
where x.cno=y.cno and x.col='红色' and y.col='蓝色' and x.数量>y.数量
group by x.cno;
/*第二题*/
select distinct(cno),(select sum(num) from a x  where x.cno=a.cno and col='红色' group by cno,col) as 红色,(select sum(num) from a x  where x.cno=a.cno and col='蓝色' group by cno,col) as 蓝色
from a;

SQL经典问题1——产品、颜色、数量相关推荐

  1. 2021年中国印染布产量及进出口情况分析:合成长丝织物产品出口数量最多[图]

    一.印染行业营业情况 中国印染行业发展较快,加工能力位居世界首位,已是纺织印染生产大国.2021年中国印染行业规模以上营业收入为2949.87亿元,同比增长16.1%:印染行业规模以上利润总额为159 ...

  2. SQL经典50条语句

    50条SQL经典语句: 表结构: --1.学生表 Student(S,Sname,Sage,Ssex) --S 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表  ...

  3. SQL经典实例(五)元数据查询

    列举模式中的表 Oracle select table_name from all_tables where owner = 'SCOTT'; MySQL select table_namefrom ...

  4. SQL经典面试题及答案

    转载自:http://blog.csdn.net/hwq1987/article/details/6670300 SQL经典面试题及答案 2007年07月27日 星期五 上午 08:42 1.一道SQ ...

  5. 使用jquery打造一个动态的预览产品颜色效果

    在浏览一些电子商务网站的时候,选择一件产品的时候,我们经常会看到点击衣服的颜色,同一件衣服的颜色就会切换,让我们觉得真是比较有意思,这样做的效果给用户的体验比较好,今天就给大家分享一下这种效果的实现原 ...

  6. mysql测试题汇总_总结:SQL练习【SQL经典练习题】

    好像今天圣诞节 刚刷完SQL练习[SQL经典练习题],本篇文章将对我不牢固的知识做简单汇总. 没对比就没标准,当练习超经典SQL练习题,做完这些你的SQL就过关了时才知道自己以前练习的SQL是最基础的 ...

  7. 【笔试/面试】SQL 经典面试题

    基本概念 (1)any/all,构成 where 子句的条件判断,any:表示或(or)的概念,all:则表示与(and)的概念,这两个关键字的出现是为了语句的简化: (2)先分组再做聚合,逻辑上也应 ...

  8. SQL经典语句大全及应用示例汇总

    SQL经典语句大全及应用示例汇总 无论您是一位SQL sever的新手,或是一位只是需要对SQL复习一下的资料仓储业界老将,您就来对地方了.本期专题精选了SQl语句.SQL语法.实例和教程等经典相关资 ...

  9. 【SQL经典50题】9.查询和“ 01 “号的同学学习的课程完全相同的其他同学的信息【正解】

    查询所用的表结构见https://blog.csdn.net/zjhbeautiful/article/details/108065336 SQL经典50题第9题正解 题目:查询和" 01 ...

最新文章

  1. python分块处理功能_Python-numpy实现灰度图像的分块和合并方式
  2. python画熊猫代码_用Python Turtle 画可爱的熊猫
  3. ftp上传当天文件的方法_2种windows到linux上传文件的方法
  4. C++:基于范围的for循环
  5. Microsoft Visual Studio 2005 多线程时 解决不是该线程创建的来访问
  6. Confluence 6 为站点禁用匿名用户访问
  7. SDP在SIP协议中的应用
  8. Override and Overload
  9. 电脑CPU的最佳工作温度是多少度
  10. php钉钉机器人,PHP调用钉钉机器人
  11. 女生更多!统计局:2019年高等教育在校生中女研究生占比过半
  12. Ubuntu系统英文大小写CapsLock切换混乱解决方法!
  13. 2020-10-1 //严蔚敏《数据结构》 //赫夫曼树及其应用:创建顺序赫夫曼树创建及得到赫夫曼编码
  14. 第七篇 nacos 注册中心
  15. JavaScript去除数组重复的元素且都不保留
  16. 106-Latex矩阵过大问题
  17. 计算机操作处于挂起状态,计算机重新启动操作可能处于挂起状态怎么办?
  18. java字符串替换多个字符串_java 字符串替换函数replaceAll 一次同时替换多个字符串...
  19. (翻译)设计人员应去除正文中的孤行内容的原因
  20. 嵌入式linux下3G上网卡移植

热门文章

  1. android R.id.转化为view
  2. Redis学习笔记~是时候为Redis实现一个仓储了,RedisRepository来了
  3. 部署App-V Client,应用程序虚拟化体验系列之三
  4. 政府采购就是支持民族软件吗?
  5. iphone降级_ios14.2怎么降级到14.1 ios14.2耗电严重吗[多图]-热门资讯
  6. php qcloud sdk weapp_微信小程序源码+PHP后台
  7. android button自定义样式详解,Android自定义格式显示Button的布局思路
  8. 机器人砂型铸造_安诺伊智能机器人丨助力压铸厂铸造工艺提升
  9. php图片显示框,【转】php让图片弹出下载框的方法
  10. 为什么一个java源文件中只能有一个public类