powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разделить людей на карликов, нормальных и великанов.
4 сообщений из 4, страница 1 из 1
Разделить людей на карликов, нормальных и великанов.
    #38860847
Wisky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совершенно случайно сформировалась задачка (цветовая градация результата).
Надо разделить таблицу на три части согласно одного числового значения (рост), с условием наивысшей близости к делению на три РАВНЫХ части.

Формирование тестовых данных

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
WITH CTE 
AS (SELECT 1 ID, round(4*RAND(
                        checkSUM(NEWID())
                        )
                        ,0) W
    UNION ALL
    SELECT ID+1,round(4*RAND(
                        checkSUM(NEWID())
                        )
                        ,0) W from CTE 
    where ID<10) ---кол-во человек

select ID,100+W,row_number()over(order by W,ID) C,NTILE(3) OVER(ORDER BY W) AS NT
from CTE 
order by W 




N.B. C одинаковым ростом должны быть в одной группе
...
Рейтинг: 0 / 0
Разделить людей на карликов, нормальных и великанов.
    #38860855
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WiskyНадо разделить таблицу на три части согласно одного числового значения (рост), с условием наивысшей близости к делению на три РАВНЫХ части.
А как можно поделить на равные части, если тех или иных людей может быть неравное число ?
...
Рейтинг: 0 / 0
Разделить людей на карликов, нормальных и великанов.
    #38860933
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wisky,

как оценить равенство частей?
...
Рейтинг: 0 / 0
Разделить людей на карликов, нормальных и великанов.
    #38860964
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WiskyНадо разделить таблицу на три части согласно одного числового значения (рост), с условием наивысшей близости к делению на три РАВНЫХ части.
N.B. C одинаковым ростом должны быть в одной группе
ок, в таблице 100 человек ростом полтора метра, 5 человек ростом 1.80 и 1 человек ростом 2.00, какой будет результат?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разделить людей на карликов, нормальных и великанов.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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