Как сделать, чтобы строки дублировались в базе данных, если только один столбец отличается от них. Например, DATE в приведенном ниже примере - PullRequest
1 голос
/ 03 мая 2020
ID | USERID   |FORM                |data modification
---|----------|--------------------|-----------------
1  | 1115     |MATHS               |   2019-05-10
2  | 1115     |MATHS               |   2019-05-19
3  | 16161    |MATHS               |   2019-02-10
4  | 16161    |MATHS               |   2019-02-18

У меня есть эта таблица СТУДЕНТ в базе данных. Я хочу написать запрос, чтобы я мог обновить СТУДЕНТОВ Дата модификации темы (Дата модификации). Так что я получаю следующую таблицу. Есть несколько записей, похожих на это в таблице. Всякий раз, когда форма обновляется, я хочу обновить даты для той же формы одного и того же студента. Я использую это, чтобы я мог легко использовать DISTINCT. Лучшим решением будет удалить старые записи и просто сохранить последнюю , но так как я изучаю PL SQL, триггеры, фиктивные таблицы. Я хочу знать, как я могу достичь решения, такого, что я получаю ниже вывода.

Вывод должен быть: -

ID | USERID   |FORM                |data modification
---|----------|--------------------|-----------------
1  | 1115     |MATHS               |   2019-05-19
2  | 1115     |MATHS               |   2019-05-19
3  | 16161    |MATHS               |   2019-02-18
4  | 16161    |MATHS               |   2019-02-18

Я пытался использовать различные операторы SQL, такие как: - update

1 Ответ

0 голосов
/ 03 мая 2020

Вы можете использовать оконную функцию:

select t.*, max(date) over (partition by userid) as latest_modification
from table t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...