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

PostgreSQL

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

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

17.11.2016, 19:17. Просмотров 245. Ответов 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
Получить информацию о яхтах, приносящих максимальный средний доход своим владельцам (воспользоваться «локальным» представлением). ...

Как использовать параметр в функции? - PostgreSQL
Добрый день столкнулся с такой задачей( Составить хранимую процедуру для реализации факта аренды яхты и отображения контракта в виде...

Как использовать битовую маску в Postgres - PostgreSQL
Хотелось бы в поле писать несколько параметров. Например 10 - это 1- виден 0 - включен. Т.е. это можно записать в десятичной форме как 2 ...

Объединение полей разных записей - PostgreSQL
Здравствуйте. Подскажите, пожалуйста, как можно объединить две и более записей в одну, а их отличное поле записать как одно, не прибегая к...

Изменился порядок полей в таблицах - PostgreSQL
Добрый день! Недавно возникла проблема с которой не могу разобраться без посторонней помощи. В общем есть в PostgreSQL ф-я ...

CREATE VIEW, расположение полей - PostgreSQL
Здравствуйте. Смотрите на поле ava => create or replace view members_view as select m.id, name, email, ava, r.rating, nq, na from...

Получение комментариев полей и таблиц Postgresql - PostgreSQL
Здравствуйте, помогите доделать запрос. Данный запрос выводит имя таблицы, комментарий к таблице, имя поля и комментарий к полю по...

Запрос даты и времени с разных полей - PostgreSQL
Доброго времени суток всем. Подскажите товарищи как быть. у меня есть таблица с различными полями. В ней зачем то были разделены поля даты...

Склейка полей, в которых одинаковые первые 2 цифры, с разделом на месяца - PostgreSQL
Всем привет! Имеется таблица, где в одном поле данные хранятся в виде: 02, 02-09, 02-10, 04, 04-02, 05, 05-06. Каждому значению...

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grgdvo
539 / 480 / 137
Регистрация: 02.09.2012
Сообщений: 1,398
18.11.2016, 16:12     Как правильно использовать функцию RANK для подсчитываемых полей #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
Yandex
Объявления
18.11.2016, 16:12     Как правильно использовать функцию RANK для подсчитываемых полей
Ответ Создать тему
Опции темы

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