Skip to content

Latest commit

 

History

History

2159.Order Two Columns Independently

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

English Version

题目描述

表:Data

+-------------+------+
| Column Name | Type |
+-------------+------+
| first_col   | int  |
| second_col  | int  |
+-------------+------+
该表没有主键且可能包含重复数据。

 

请你编写 SQL 使:

  • first_col 按照 升序 排列。
  • second_col 按照 降序 排列。

查询返回的结果格式如下。

 

示例:

输入:
Data 表:
+-----------+------------+
| first_col | second_col |
+-----------+------------+
| 4         | 2          |
| 2         | 3          |
| 3         | 1          |
| 1         | 4          |
+-----------+------------+
输出:
+-----------+------------+
| first_col | second_col |
+-----------+------------+
| 1         | 4          |
| 2         | 3          |
| 3         | 2          |
| 4         | 1          |
+-----------+------------+

解法

SQL

# Write your MySQL query statement below
WITH
    S AS (
        SELECT
            first_col,
            row_number() OVER (ORDER BY first_col) AS rk
        FROM Data
    ),
    T AS (
        SELECT
            second_col,
            row_number() OVER (ORDER BY second_col DESC) AS rk
        FROM Data
    )
SELECT first_col, second_col
FROM
    S
    JOIN T USING (rk);