日期 井号 日产液 日产油
2013/1/1 古256 20.7 5.0
2013/1/1 古257 14.7 4.0
2013/1/1 古258 17.4 3.5
2013/1/1 古259 16.5 3.0
2013/1/1 古260 7.0 2.0
2013/1/1 古261 17.4 2.5
2013/1/1 古262 16.5 0.5
2013/1/1 古263 7.0 0.8
2013/1/1 古264 16.5 0.0
2013/1/1 古265 7.0 0.1
2013/1/1 古266 17.4 4.0
2013/1/2 古256 20.7 6.0
2013/1/2 古257 14.7 5.0
2013/1/2 古258 17.4 4.0
2013/1/2 古259 16.5 3.0
2013/1/2 古260 7.0 2.6
2013/1/2 古261 17.4 2.7
2013/1/2 古262 16.5 0.4
2013/1/2 古263 7.0 0.6
2013/1/2 古264 16.5 0.0
2013/1/2 古265 7.0 0.3
2013/1/2 古266 17.4 5.0 目的:把上面数据进行分类,日产油大于等于3吨的求和,大于1吨小于3吨的求和,小于1吨的求和。每天单独汇总
结果如下格式(说明列是为了更好的懂SQL达到的目的):
日期 日产液 日产油 说明
2013/1/1 70.2 16.5 A类
2013/1/1 40.9 12.5 B类
2013/1/1 64.4 1.4 C类
2013/1/2 86.7 23 A类
2013/1/2 24.4 5.3 B类
2013/1/2 47 1.3 C类如何写SQL 语句完成以上功能呢?SQL 分类汇总 复杂性高SQL汇总查询
2013/1/1 古256 20.7 5.0
2013/1/1 古257 14.7 4.0
2013/1/1 古258 17.4 3.5
2013/1/1 古259 16.5 3.0
2013/1/1 古260 7.0 2.0
2013/1/1 古261 17.4 2.5
2013/1/1 古262 16.5 0.5
2013/1/1 古263 7.0 0.8
2013/1/1 古264 16.5 0.0
2013/1/1 古265 7.0 0.1
2013/1/1 古266 17.4 4.0
2013/1/2 古256 20.7 6.0
2013/1/2 古257 14.7 5.0
2013/1/2 古258 17.4 4.0
2013/1/2 古259 16.5 3.0
2013/1/2 古260 7.0 2.6
2013/1/2 古261 17.4 2.7
2013/1/2 古262 16.5 0.4
2013/1/2 古263 7.0 0.6
2013/1/2 古264 16.5 0.0
2013/1/2 古265 7.0 0.3
2013/1/2 古266 17.4 5.0 目的:把上面数据进行分类,日产油大于等于3吨的求和,大于1吨小于3吨的求和,小于1吨的求和。每天单独汇总
结果如下格式(说明列是为了更好的懂SQL达到的目的):
日期 日产液 日产油 说明
2013/1/1 70.2 16.5 A类
2013/1/1 40.9 12.5 B类
2013/1/1 64.4 1.4 C类
2013/1/2 86.7 23 A类
2013/1/2 24.4 5.3 B类
2013/1/2 47 1.3 C类如何写SQL 语句完成以上功能呢?SQL 分类汇总 复杂性高SQL汇总查询
解决方案 »
- sqlserver 导入 oracle 错误如下:“ORA-00955: 名称已由现有对象使用
- SQL语言是1阶语言吗?
- 怎么在使用Toad for Oracle 9.6.1时 隔几分钟再用时 就老是报这个错"Error while trying to retrieve text for error ORA-03113"
- Two ~~~~~ 求一个 select sql
- 请问如何在oracle数据库的查询结果集中增加"序号"这样的虚列?
- 请教:下面的SQL*PLUS命令是什么意思
- 谁知道这两个语句效率差别?
- java发布时jdbc driver类找不到?
- 哪些字符集是单字节的?us7ascii是么?哪些是双字节的?在哪儿能查到?
- 自动化检查存储过程DML操作有什么办法
- 遇到一个怪问题,请遇到的诊断一下!
- 客户端9连接服务端10的问题
sum(t1.pro1) "日产液",
sum(t1.pro2) "日产油",
t1.descrip "说明"
from (select t.time,
t.num,
t.pro1,
t.pro2,
case
when t.pro2 >= 3 then
'A类'
when (t.pro2 < 3 and t.pro2 >1) then
'B类'
else
'C类'
end descrip
from test t) t1
group by t1.time, t1.descrip
order by t1.time,t1.descrip;注:=1t 的放在C类的结果:
SELECT 'TypeA' type,0 下限,0.9999 上限 from dual union
SELECT 'TypeB',1,2.9999 from dual union
SELECT 'TypeC',3,99999999 from dual)
SELECT 日期,sum(日产液),sum(日产油),type from t1,tlv
WHERE t1.日产油 between 下限 and 上限
GROUP BY 日期,type
如果有经常计算各种分类的,可以create真的tlv来使用,更灵活方便