Как выбрать наибольшее значение и вычесть нижние значения из вложенного запроса Postgresql - PullRequest
0 голосов
/ 01 мая 2018

Это то, чего я пытаюсь достичь - скажем, у меня есть целочисленный столбец, например, возраст людей, я хочу выбрать самый высокий возраст и получить его разницу с другими выбранными возрастами. Так что если я сделаю:

SELECT ages FROM people
ORDER BY ages DESC

И получить, например, 30 25 20 15 10, я бы хотел сделать еще один SELECT, который будет выполнять 30-30, 30-25, 30-20, 30-15, 30-10

SELECT --how do I perform that here? 
FROM (  
    SELECT ages FROM peoeple
    ORDER BY ages DESC
)foo

Как мне этого добиться?

1 Ответ

0 голосов
/ 01 мая 2018

Используйте подзапрос, который возвращает максимальный возраст:

select (select max(age) from people) - age
from people
order by 1 -- ordering is optional, but it seems you want data in this order

кстати, age - это лучшее имя для чьего-либо возраста, чем ages.

...