powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Сортировка зарплат.
15 сообщений из 15, страница 1 из 1
Сортировка зарплат.
    #36878125
aafix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблице данные о вакансиях. И есть 2 поля, определяющие зарплату, т.е. "зарплата от..." и "зарплата до..."

при выводе списка вакансий, хотелось бы иметь возможность сортировать их по некому среднему или как-то так. Т.е. сортировать по зарплатам.

Однако, как я понимаю, перечисление полей сортировки в запросе не подойдёт.
Ведь как отсортировать зарплату, если сказано в одной записи:
10.000руб до 100.000руб., а в другой от 5.000руб до 105.000руб. ? Что из них является бОльшим, а что меньшим?
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36878149
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aafix, ORDER BY ((ZPmin + ZPMax)/2)?
если нет - то проблема в том, что вы сами не знаете, чего хотите...
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36878150
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может даже так:
ORDER BY ((ZPmin + ZPMax)/2) DESC, ZPMax DESC

это при условии, что и ZPmin и ZPMax IS NOT NULL...
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36878157
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aafix,
И всегда указаны обе величины? Не бывает только от, только до, договорная?
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36878221
aafix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edd.Dragonaafix,
И всегда указаны обе величины? Не бывает только от, только до, договорная?

Нет, бывает заполнено одно поле.
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36878223
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда надо как-то так

Код: plaintext
1.
2.
3.
4.
SELECT ............, iif(MinSalary IS NULL, MaxSalary, iif(MaxSalary IS NULL, MinSalary, MinSalary + MaxSalary) /  2 )) AS AvgSalary
FROM ...........
WHERE .........
ORDER BY AvgSalary
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36878224
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скобку потерял

Код: plaintext
1.
2.
3.
4.
SELECT ............, iif(MinSalary IS NULL, MaxSalary, iif(MaxSalary IS NULL, MinSalary, (MinSalary + MaxSalary) /  2 )) AS AvgSalary
FROM ...........
WHERE .........
ORDER BY AvgSalary
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36878579
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aafix wrote:


order by min_salary + max_salary / 2
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36879678
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, для целей сортировки делить на 2 нет никакого смысла :)
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36879804
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftкстати, для целей сортировки делить на 2 нет никакого смысла :)Почему же, результаты разные. Если, конечно, скобки не забыли.
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36879814
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgmiksoftкстати, для целей сортировки делить на 2 нет никакого смысла :)Почему же, результаты разные. Если, конечно, скобки не забыли.Численно - разные, но на порядок сортировки это не повлияет.
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36880133
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftalexeyvgmiksoftкстати, для целей сортировки делить на 2 нет никакого смысла :)Почему же, результаты разные. Если, конечно, скобки не забыли.Численно - разные, но на порядок сортировки это не повлияет.А у меня влияет.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Для цен:
 10   20 
 4    30 

select  10  +  20 / 2  as c1,  10  +  20  as c2
union all
select  4  +  30 / 2  as c1,  4  +  30  as c2

c1	c2
 20 	 30 
 19 	 34 
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36880158
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

А скобки таки забыли...
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36880186
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftalexeyvg,

А скобки таки забыли...Я не забыл, я же писал про это " Если, конечно, скобки не забыли."
Это по поводу сортировки MasterZivorder by min_salary + max_salary / 2 Вполне удачный алгоритм (зависит, правда, от того, что это - цена предложения или покупки).

Просто автор в соседнем форуме стесняется спросить у заказчика про требуемый алгоритм сортировки, а указанный им алгоритм "по некому среднему или как-то так" - это не order by (min_salary + max_salary) / 2

Вот Яндекс маркет сортирует по минимальной цене; может быть, надо сортировать, откинув недостоверные выбросы и т.п.
...
Рейтинг: 0 / 0
Сортировка зарплат.
    #36880296
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Я не забыл, я же писал про это " Если, конечно, скобки не забыли."

Без скобок никто бы и не заявлял, что сортировка не изменится. Очевидно, что изменится.

Имелось ввиду для среднего арифметического.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Сортировка зарплат.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]