Форум программистов, компьютерный форум CyberForum.ru

PostgreSQL

Войти
Регистрация
Восстановить пароль
 
evgeny_kravchuk
1 / 1 / 0
Регистрация: 12.04.2015
Сообщений: 14
#1

Как правильно использовать функцию RANK для подсчитываемых полей - PostgreSQL

17.11.2016, 19:17. Просмотров 251. Ответов 1
Метки нет (Все метки)

Здравствуйте.
Само задание звучит так:
Для каждого района показать его ранг (место) в списках ранжирования по:
– количеству имеющихся предложений по аренде/продаже недвижимости;
– средней стоимости квартир;
– средней стоимости домов;
– средней стоимости участков;
– спросу на объекты недвижимости;
– количеству заключенных договоров.

Осуществил подсчет для каждого района нужных значений и исходя из этих значений (вообще нужно вместо значений в те же поля) посчитать ранг. Не знаю как правильно использовать ранг для считаемых полей.

SQL
1
2
3
4
5
6
7
8
9
SELECT hood."Hood", COUNT(DISTINCT num."id_object") num, AVG(flat."Price") flat_price, AVG(house."Price") house_price, AVG(plot."Price") plot_price, COUNT(DISTINCT popular."id_contract") num_popular, COUNT(DISTINCT contr."id_contract") num_contract
FROM "Objects" hood
LEFT JOIN "Objects" num ON hood."Hood" = num."Hood"
LEFT JOIN "Objects" flat ON hood."Hood" = flat."Hood" AND flat."Type" = 'Flat'
LEFT JOIN "Objects" house ON hood."Hood" = house."Hood" AND house."Type" = 'House'
LEFT JOIN "Objects" plot ON hood."Hood" = plot."Hood" AND plot."Type" = 'Plot'
LEFT JOIN "Contracts" popular ON hood."id_object" = popular."id_object"
LEFT JOIN "Contracts" contr ON hood."id_object" = contr."id_object"
GROUP BY hood."Hood"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2016, 19:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно использовать функцию RANK для подсчитываемых полей (PostgreSQL):

Как правильно использовать While? - Базы данных
Не давно столкнулся с необходимостью использовать цикл While . Ранее сталкивался с ним только в языках программирования . Задача...

Как правильно использовать strfind функцию? - Matlab
Привет, я недавно начала заниматься Матлабом в универе и пытаюсь в первый раз решить задачу. У нас есть разные программы ассемблера,...

Как правильно использовать функцию datediff? - C++ Builder БД
Использую ADODataSet, при попытке активировать выдает ошибку: "слишком мало параметров, требуется 1" SELECT DateDiff(day, Date(),...

Как правильно использовать функцию из DLL в Делфи? - Delphi
Здравствуйте! Имеется датчик RF603, с интерфейсом Ethernet, а так же dll к нему и не большой мануал. Из мануала берем функции...

Как правильно использовать одну функцию внутри другой? - PHP
Доброго времени суток. Функция func1() должна поменять переменную var1 внутри функции func2. <? function func1(){ $var1 ++; } ...

Каким образом использовать Rank, когда есть заполненный массив - VBA
Добрый день Не могу найти каким образом использовать Rank когда есть заполненный массив(диапазон нельзя так как не по порядку ячейки),...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
grgdvo
550 / 486 / 138
Регистрация: 02.09.2012
Сообщений: 1,431
18.11.2016, 16:12 #2
Оберните ваш запрос в конструкцию вида.
SQL
1
2
3
4
5
6
7
SELECT
  subq.*,
  rank() OVER (ORDER BY num),
  rank() OVER (ORDER BY flat_price),
  ....
FROM
(SELECT hood."Hood" .......) subq
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2016, 16:12
Привет! Вот еще темы с ответами:

PIVOT как правильно использовать для транспонирования - SQL Server
Добрый день! Не могу разобраться с транспонированием. У меня есть таблица period ...

Как правильно использовать функцию "lenght" - Turbo Pascal
подскажите в чем ошибка и как правильно использовать функцию <lenght> program lab_4_1; var s:string;kol,i,n:integer; begin ...

Как правильно использовать sort() для сортировки массива? - C++
Хочу отсортировать массив char ch, можно ли это сделать с помощью стандартной библиотеки или обязательно использовать strcmp?? ...

Как правильно использовать Указатели для массива (ошибки в программе)? - C++
Необходимо переписать программу правильно, чтобы использовались указатели. Помогите, пожалуйста!!! Примерный (с ошибками код): ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru