`
流浪鱼
  • 浏览: 1692855 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

不错sql

 
阅读更多
--0表示没有问题 1表示有问题
select * from
(select v0.uuid,v0.name, 
               (case when is_operate=1 then (case when v4.oo_score>=60 then (case when v0.oo_cost>0 then 0 else 1 end) else (case when v0.oo_cost=0 then 0 else 1 end) end) else (case when v0.oo_cost=0 then 1 else 0 end) end) oo,
               (case when is_synthetic=1 then (case when v4.gg_score>=60 then (case when v0.gg_cost>0 then 0 else 1 end) else (case when v0.gg_cost=0 then 0 else 1 end) end) else (case when v0.gg_cost=0 then 1 else 0 end) end) gg,
               (case when is_theory=1 then (case when v4.tt_score>=60 then (case when v0.tt_cost>0 then 0 else 1 end) else (case when v0.tt_cost=0 then 0 else 1 end) end) else (case when v0.tt_cost=0 then 1 else 0 end) end) tt,
               (case when is_english=1 then (case when v4.ee_score>=60 then (case when v0.ee_cost>0 then 0 else 1 end) else (case when v0.ee_cost=0 then 0 else 1 end) end) else (case when v0.ee_cost=0 then 1 else 0 end) end) ee
               --decode(v4.oo_score),
               --decode(v4.gg_score),
               --decode(v4.tt_score),
               --decode(v4.ee_score)

from   
  --本次计划的补考考生
  (select f.uuid,f.isdel,f.examinee_type,f.card_number,f.name,f1.work_name,f1.level_code
          ,f.tt_cost,f.oo_cost,f.gg_cost,f.ee_cost,f1.is_theory,f1.is_operate,f1.is_synthetic,f1.is_english
      from nation_examineedetail f,nation_worktype f1
      where f.plan_uuid = 'cbaa6d10-68a6-4ac2-8932-dd87c00f16fd'
      and f.enroll_level_uuid=f1.uuid
      and f.plan_uuid=f1.plan_uuid
       and f.examinee_type = 2
      and f.status >= 210
      and f.status <> 211) v0,
   --补考考生要关联的上次的scoreinfo信息。
   (select         v3.uuid,
               v3.work_name,
               v3.level_name,
               v3.exam_startdate,
               v3.idcard_number,
               v3.name,
               v3.oo_score,
               v3.gg_score,
               v3.tt_score,
               v3.ee_score 
         from (
select v2.*,rank() over (partition by v2.idcard_number,v2.name order by v2.exam_startdate desc) add_rank
  from (select ttt.work_name,
               ttt.level_code,
               tt.exam_startdate,
               t.card_number,
               t.name
          from nation_examineedetail t,
               nation_planinfo       tt,
               nation_worktype       ttt
         where ttt.uuid = t.enroll_level_uuid
           and ttt.plan_uuid = tt.uuid
           and tt.uuid = t.plan_uuid
           and t.plan_uuid = 'cbaa6d10-68a6-4ac2-8932-dd87c00f16fd'
           and t.examinee_type = 2
           and t.status >= 210
           and t.status <> 211) v,
       (select t3.uuid,
               t2.work_name,
               t2.level_name,
               t3.exam_startdate,
               t2.idcard_number,
               t2.name,
               t2.oo_score,
               t2.gg_score,
               t2.tt_score,
               t2.ee_score
          from nation_scoreinfo t2, nation_planinfo t3,nation_examineedetail t4
         where t2.plan_uuid = t3.uuid and t2.examinee_uuid=t4.uuid and t4.plan_uuid=t3.uuid
           and t2.isdel <> 1) v2
 where v.work_name = v2.work_name
   and v.level_code = v2.level_name
   and v.card_number = v2.idcard_number
   and v.name = v2.name
   and v.exam_startdate <> v2.exam_startdate
) v3 where v3.add_rank=1 
) v4
where v4.work_name=v0.work_name
      and      v4.level_name=v0.level_code
      and         v4.idcard_number=v0.card_number
      and         v4.name=v0.name
      )  vv where vv.oo=0 or vv.gg=0 or vv.tt=0 or vv.ee=0
      ;

 

Rank的基本语法为:

RANK ( ) OVER ( [query_partition_clause] order_by_clause ) 

语法:
rank() over (order by 排序字段 顺序)
rank() over (partition by 分组字段 order by 排序字段 顺序)


 

1.顺序:asc|desc  名次与业务相关:
  示例:求优秀学员,成绩:降序  迟到次数:升序
2.分区字段:根据什么字段进行分区。

问题:分区与分组有什么区别?
•分区只是将原始数据进行名次排列(记录数不变),
•分组是对原始数据进行聚合统计(记录数变少,每组返回一条)。

分享到:
评论

相关推荐

    一个比较不错SQL测试的程序

    4、动态创建SQL数据库。 5、动态创建SQL数据表。 6、动态创建SQL主关键字约束。 7、动态创建SQL外键约束。 8、动态创建SQL触发器。 9、自定义SQL数据库登录校验窗体。 10、不用设置BDE的SQL数据库连接。 11、...

    SQL Debug(不错的SQL语句调试工具)

    SQL Debug是一款专为数据库开发人员设计的SQL语句调试工具,它提供了丰富的功能来帮助用户高效地编写、测试和优化SQL查询。这款工具以其独特的特性脱颖而出,尤其对那些需要在多个用户环境之间频繁切换的开发者来说...

    SQL的一些总结很经典 很不错

    SQL的一些总结很经典 很不错 SQL的一些总结很经典 很不错

    sqlserver内存释放工具(个人感觉还不错)

    描述中提到的“个人感觉还不错”和“用过多次,挺好用”,这表明该工具在实际使用中表现出良好的效果,能够有效地释放内存,改善系统性能。不过,要注意的是,任何工具的适用性都会受到特定环境的影响,因此,在使用...

    比较不错的风云SQL连接器

    比较不错的SQL连接器比较不错的SQL连接器比较不错的SQL连接器比较不错的SQL连接器比较不错的SQL连接器比较不错的SQL连接器

    sql查询分离常用语句

    1433 sql 分离 查询,针对sa权限的分离查询,以后遇到不能执行cmd命令,126 ,127错误都可以顺利解决,我整理了常用的语句,个人觉得不错 sql查询分离语句,抓机专用,可以恢复cmdshell,oa等执行命令,上传,自己动手...

    SQL中文版本 不错

    SQL,全称Structured Query Language,是一种用于管理关系数据库的标准编程语言。在中文环境中,SQL的中文版本对于不熟悉英文的用户来说,无疑提供了更友好的学习和操作环境。标题和描述都提到了“SQL中文版本”,这...

    全国省县市数据库 Sql Server 2005

    全国 省县市 层次 数据库 感觉相当的不错 Sql文件

    SQL Bible(sql 圣经)

    SQL,Bible sql 圣经,不错的一本sql书籍

    不错的sql语言经典教程

    初学者攻克SQL最佳教程,三天熟悉数据库基本操作,也适合刚入行的职业人员的学习,可成为数据库管理员的一大宝典!

    程序员的SQL金典(不错)

    主要介绍SQL的语法规则及在实际开发中的应用,并且对SQL在MySQL、MS SQL Server、Oracle和DB2中的差异进行了分析。《程序员的SQL金典》分为3部分:第1部分为基础篇,主要讲解数据库对增、删、改、查等SQL的支持,给...

    一款不错的sql客户端HediSQL

    一款不错的sql客户端HediSQL 欢迎大家使用。

    T-SQL示例大全,一个很不错的SQL示例,更快速掌握SQL,推荐使用。

    T-SQL,全称Transact-SQL,是微软SQL Server数据库管理系统中使用的SQL方言,它扩展了标准SQL的功能,提供了数据库交互、数据操纵和程序编写的能力。本资源“T-SQL示例大全”是一个非常宝贵的参考资料,对于学习和...

    SQL语言艺术--不错的SQL艺术

    SQL语言艺术--不错的SQL艺术,很不错的SQL思想...

    My SQL and SQL Sever 对比

    3. MYSQL:基本免费,适合个人网站及一些小企业的应用,功能不错,但是性能相对较高。 4. DB2:大型数据库,特长在于信息的存取,比较适合大系统,但是需要有长期的实践和摸索。 MySQL 和 SQL Server 都是非常强大...

    SQL基本语句诠释,比较不错

    SQL是Structured Query Language的缩写,是用于管理和处理关系数据库的标准编程语言。在这个主题中,我们将深入探讨SQL的四个基本语句:INSERT、SELECT、UPDATE和DELETE,它们构成了SQL的核心功能。 1. INSERT语句...

    SQL编程规范(还不错哦)

    SQL 编程规范 SQL 编程规范是一组编程规则和best practice,旨在提高 SQL 编程的效率、可读性和可维护性。本规范涵盖了 SQL 书写规范、书写优化性能建议和其他经验性规则,旨在帮助开发者编写高效、可靠的 SQL 代码...

    迷你SQL2000 V1.30 版本

    尽管如此,对于小型项目或者学习SQL的基础知识,迷你SQL2000 V1.30仍然是一个不错的选择。 在实际使用中,用户需要了解如何创建数据库、定义表结构、设置主键和外键、使用T-SQL进行数据操作以及执行备份和恢复策略...

    SQL面试题4(不错).doc

    根据给定文件中的标题“SQL面试题4(不错).doc”、描述“SQL面试题(不错),比较详细,可以值得参考。”以及标签“sql”,我们可以看出这份文档主要聚焦于SQL语言的应用,尤其是针对面试场景下的题目解答。下面将...

    迷你SQL2000_v1.29.zip

    尽管它可能不适合大型企业级应用,但对于个人项目、小型团队或者作为学习工具,它无疑是一个不错的选择。用户只需解压压缩包中的“迷你SQL2000”文件,即可开始使用这个无需安装的数据库管理系统。

Global site tag (gtag.js) - Google Analytics