SQL псевдоним внутри графа - PullRequest
1 голос
/ 17 марта 2020

Я пытаюсь выучить немного SQL, и я чувствую, что я должен быть в состоянии сделать это, но я получаю синтаксическую ошибку.

SELECT Score,
  (SELECT COUNT(DISTINCT Score s) FROM Scores WHERE s >= Score) AS Rank
FROM Scores
ORDER BY Score DESC

Это позволяет мне делать

# Write your MySQL query statement below
SELECT Score s,
  (SELECT COUNT(DISTINCT Score) FROM Scores WHERE Score >= s) AS Rank
FROM Scores
ORDER BY Score DESC

но для вопроса первый столбец должен быть назван Score.

Я видел другие ответы на эту проблему, которые кажутся действительно сложными, но если у кого-то есть простой способ сделать эта идея работает, я буду признателен.
Спасибо!

1 Ответ

0 голосов
/ 17 марта 2020

Я думаю, что вы хотите:

SELECT s.Score,
       (SELECT COUNT(DISTINCT s2.Score) FROM Scores s2 WHERE s2.Score >= s.Score) AS Rank
FROM Scores s
ORDER BY s.Score DESC;

Обратите внимание, что я использую псевдонимы таблиц и ссылок на все столбцы.

Конечно, это проще:

select s.score,
       dense_rank() over (order by s.score desc) as rank
from scores s
order by s.score desc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...