[关闭]
@Cesar 2015-12-18T02:17:05.000000Z 字数 643 阅读 1575

SQL中对分组数据按某值排序后取值前几位

sql 学习

目录

  1. 目的表述
  2. 表数据
  3. 语句与分析
  4. 不足与注意

目的表述

在sql数据库中将某张表A按字段a2进行分组,并取a1最大的五位数据


表数据简介

a1 a2 a3 a4
1 1 1 1
2 1 12 1
3 1 13 1
4 2 14 12
5 2 15 2
6 2 16 33
7 3 17 44
a1 a2 a3 a4
1 1 1 1
2 1 12 1
4 2 14 12
5 2 15 2
7 3 17 44

语句与分析

该语句的难点在于

  1. SELECT * FROM A X
  2. WHERE (
  3. SELECT COUNT(*) FROM A Y
  4. WHERE X."a2"=Y."a2" AND X."a1">y."a1"
  5. )
  6. <2 ;

不足与注意

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注