Weibw's World Weibw's World
首页
  • HTML
  • Python

    • Python基础知识
    • Python CookBook第三版
    • Flask
  • MySQL

    • MySQL基础知识
    • MySQL调优
    • MySQL面试题
算法
  • FineReport
  • Kettle
  • Git
  • 微信公众号文章
  • 优秀博客文章
  • 其他
收藏夹
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Weibw

一个没有梦想的咸鱼
首页
  • HTML
  • Python

    • Python基础知识
    • Python CookBook第三版
    • Flask
  • MySQL

    • MySQL基础知识
    • MySQL调优
    • MySQL面试题
算法
  • FineReport
  • Kettle
  • Git
  • 微信公众号文章
  • 优秀博客文章
  • 其他
收藏夹
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • MySQL

    • MySQL基础知识

    • MySQL进阶

    • SQL练习题

      • 牛客网非技术快速入门SQL练习题
      • 其他日常SQL题
        • 1、先分组后排序,按组排序
          • 题目描述
          • 答案
  • Redis

  • 数据库
  • MySQL
  • SQL练习题
weibw
2022-03-07

其他日常SQL题

# 1、先分组后排序,按组排序

# 题目描述

有表查询如下:

seq	|	str
----|----|
1	|	a
2	|	b
3	|	b
4	|	c
5	|	c
6	|	c
1
2
3
4
5
6
7
8

现要求查询结果如下:

seq	|	str	|	sc	|
----|----|---------|
1	|	a	|	1
2	|	b	|	1
3	|	b	|	2
4	|	c	|	1
5	|	c	|	2
6	|	c	|	3
1
2
3
4
5
6
7
8

# 答案

with m as (
select 1 seq,'a' str from dual
union all
select 2 seq,'b' str from dual
union all
select 3 seq,'b' str from dual
union all
select 4 seq,'c' str from dual
union all
select 5 seq,'c' str from dual
union all
select 6 seq,'c' str from dual
)

/*select * from m*/
select a.seq,a.str,count(*) as sc
from m a
left join m b on a.str=b.str and a.seq>=b.seq
group by a.str ,a.seq 
order by a.seq 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

image

编辑 (opens new window)
上次更新: 2023/10/13, 17:39:25
牛客网非技术快速入门SQL练习题
初识Redis

← 牛客网非技术快速入门SQL练习题 初识Redis→

最近更新
01
牛客网非技术快速入门SQL练习题
03-08
02
用户与权限管理
03-05
03
MySQL的数据目录
03-05
更多文章>
Theme by Vdoing | Copyright © 2021-2023 | Weibw | 辽ICP备18015889号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式