博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL分组排序 -转载
阅读量:6174 次
发布时间:2019-06-21

本文共 1937 字,大约阅读时间需要 6 分钟。

不得不承认,我脑子梗塞的很严重。。。

 

表[gcc_blogInfo]

blogid        uid          blogtitle        createtime            issketch          checkright

1                1            "hello"          2010-04-01          2                    1

2                1             "hello2"       2010-04-02          2                    1

3                1             "hello3"       2010-04-03          2                    2

4                2              "hello4"      2010-04-01          2                    1

5                2              "hello5"      2010-04-05          2                    1

6                3              "hello6"      2010-04-01          1                    1

7                3              "hello7"       2010-04-02          2                    1

 

最后查询结果为:

blogid        uid          blogtitle        createtime            issketch          checkright

2                1             "hello2"       2010-04-02          2                    1

5                2              "hello5"      2010-04-05          2                    1

7                3              "hello7"       2010-04-02          2                    1

 

 

[c-sharp]

  1. /*比较好理解哈:就是通过嵌套查询以uid为分组依据,结合最大聚集函数max(...)的使用先得到满足条件的uid,createtime数据集合再以此为依据查询满足条件的值^-^*/select a.blogid,a.uid,a.blogtitle,a.createtime from[gcc_blogInfo] a,(select uid,max(createtime) createtime from [gcc_blogInfo] where issketch=2 and checkright=1 group by uid) b wherea.uid = b.uid and a.createtime = b.createtime/*e-e同事写的可牛啦,我至今未看懂语句短,功效好*/select * from gcc_blogInfo ta where createTime in (select max(createTime) from gcc_blogInfo tb where tb.uid=ta.uid and issketch=2 and checkright=1 )  

/*比较好理解哈:就是通过嵌套查询以uid为分组依据,结合最大聚集函数max(...)的使用先得到满足条件的uid,createtime数据集合再以此为依据查询满足条件的值^-^*/select a.blogid,a.uid,a.blogtitle,a.createtime from[gcc_blogInfo] a,(select uid,max(createtime) createtime from [gcc_blogInfo] where issketch=2 and checkright=1 group by uid) b wherea.uid = b.uid and a.createtime = b.createtime/*e-e同事写的可牛啦,我至今未看懂语句短,功效好*/select * from gcc_blogInfo ta where createTime in (select max(createTime) from gcc_blogInfo tb where tb.uid=ta.uid and issketch=2 and checkright=1 )

 

分组:

[A]表                                       [B]表

                       

要求输出每个学科前2名学生信息,分数

[sql]

  1. select b1.subject, b1.score, a.* from b b1 left join a on a.id = b1.id  
  2.   
  3. where b1.id in(  
  4.   
  5. select id from b where score in  
  6.   
  7. (select distinct top 2 score from b where subject=b1.subject order by score desc))  
  8.   
  9. order by b1.subject,b1.score desc  

select b1.subject, b1.score, a.* from b b1 left join a on a.id = b1.id where b1.id in( select id from b where score in (select distinct top 2 score from b where subject=b1.subject order by score desc)) order by b1.subject,b1.score desc

转载地址:http://mdqba.baihongyu.com/

你可能感兴趣的文章
Linux日志系统分析
查看>>
Linux下双网卡绑定bond0
查看>>
你是否也在服务器租用的过程中对服务器各方面的问题产生疑问呢????
查看>>
SSH2屌丝增强版1:构建GenericDao
查看>>
nfs服务配置
查看>>
内存不足导致不能执行system
查看>>
Android Studio导出jar包
查看>>
通过python 爬取网址url 自动提交百度
查看>>
我的友情链接
查看>>
乔布斯走了,苹果会坠落吗?
查看>>
EFI分区不格盘,不重新分区,不丢数据安装32位win7方法
查看>>
java高级_01
查看>>
win8重装成win8.1后把hyperv的虚拟机导入
查看>>
linux命令汇总(mkdir、rmdir、touch、dirname、basename)
查看>>
mv或者cp带小括号文件名解析问题总结
查看>>
Elasticsearch学习笔记3: bulk批量处理
查看>>
EBS12.2.5 升级到EBS12.2.6的问题及跟踪处理
查看>>
网站访问流程
查看>>
java的日志工具log4j的配置方法
查看>>
jQuery on()方法
查看>>