Я сделал выбор с объединениями из таблицы БД, и в результате у меня есть записи с дублированными идентификаторами.Для ранжирования записей (в целях разбивки на страницы) я использую deep_rank () over () в PostgreSQL.Вопрос в следующем: как упорядочить результаты по определенному значению столбца и его соответствующему значению из другого столбца?
SELECT *
FROM
(SELECT crm_leads.id,
f.name,
fv.value,
dense_rank() OVER (ORDER BY crm_leads.id) AS offset_
FROM crm_leads
INNER JOIN crm_modules AS m ON crm_leads.module_id = m.id
INNER JOIN crm_fields AS f ON f.module_id = m.id
LEFT JOIN crm_field_values AS fv ON fv.lead_id = crm_leads.id
AND fv.field_id = f.id
LEFT JOIN crm_field_type_values AS ftv ON ftv.field_id = f.id
WHERE crm_leads.domain_uuid = '6191af69-9cb5-44f7-b455-3eae6f81d01d'
AND m.id = 41 )
AS result_offset
Что у меня после выбора:
| ID | NAME | VALUE |
| 3 | name1 | 13 |
| 3 | name2 | 23 |
| 3 | name3 | 44 |
| 4 | name2 | 55 |
| 4 | name1 | 12 |
| 5 | name2 | 89 |
| 5 | name1 | 14 |
Например, я хочуупорядочить по ИМЯ: значение name1 и его соответствующее значение.Что я ожидаю после сортировки (значения: 12, 13, 14):
| ID | NAME | VALUE |
| 4 | name2 | 55 |
| 4 | name1 | 12 |
| 3 | name1 | 13 |
| 3 | name2 | 23 |
| 3 | name3 | 44 |
| 5 | name2 | 89 |
| 5 | name1 | 14 |