Определить порядковый номер статьи в категории
Есть таблица content, в которой лежат статьи, разделенные по категориям, ниже пример:
id | title | article | cat_id
19 | заголовок | статья | 88
20 | заголовок | статья | 31
21 | заголовок | статья | 88
22 | заголовок | статья | 88
Нужно для каждой статьи получить её порядковый номер в рубрике. К примеру, статья с id = 21 является второй в рубрике 88. А статья с id = 20 - первой в рубрике 31. Спасибо.
Ответы (1 шт):
Автор решения: Superproger77
→ Ссылка
-- Создаем таблицу
CREATE TABLE chapters (
id INTEGER PRIMARY KEY,
title VARCHAR(64) NOT NULL,
article VARCHAR(64) NOT NULL,
cat_id INTEGER NOT NULL
);
-- Добавляем данные в таблицу
INSERT INTO chapters VALUES
(19, 'заголовок1', 'статья1', 88),
(20, 'заголовок2', 'статья2', 31),
(21, 'заголовок3', 'статья1', 88),
(22, 'заголовок4', 'статья1', 88);
-- Выборка данных
SELECT
id
,title
,article
,cat_id
,ROW_NUMBER() OVER (PARTITION BY cat_id ORDER BY title) AS idTitleInTheCategory
FROM
chapters;