Фильтрация и отображение записей изменены

  • Автор темы Beginner1
  • 86
  • Обновлено
  • 17, May 2024
  • #1
Привет.

У меня есть таблица: поля кода, имени и даты, отсортированные по дате.
 select code, distinct name, date

from table
group by code
HTML: Изменены некоторые записи некоторых кодов.

Мне нужно отфильтровать и показать, что записи изменились. Так:
 100 Luis 2016-05-31 200 Juan 2016-05-31 300 Rossana 2016-06-30
HTML: Я пытался использовать это:
 100 Luiz 2016-03-31 100 Luiz 2016-04-30 100 Luis 2016-05-31 100 Luis 2016-06-30 200 Juam 2016-04-30 200 Juan 2016-05-31 300 Rosa 2016-04-30 300 Rosa 2016-05-31 300 Rossana 2016-06-30
PHP: Но не работает. Я принимаю предложения.

Beginner1


Рег
01 Jul, 2015

Тем
2

Постов
2

Баллов
22
  • 19, May 2024
  • #2
Но это все равно не скажет, обновлялось ли что-то более одного раза.

Лучшим подходом было бы создание отдельной таблицы с идентификатором данных и датой обновления.

Конечно, вы могли бы проверить это на основе текущей даты и запросить обновления, произошедшие за последние 5 дней или около того, но вся эта конструкция немного глупа.
 

DonaldDark


Рег
12 Jan, 2014

Тем
0

Постов
3

Баллов
3
  • 08, Jun 2024
  • #3
Как сказал PoPSiCLe, на основе предоставленной вами информации вы не можете определить, изменилось поле или нет. Метод, который я бы использовал, выглядит примерно так: идентификатор | код | имя | создано_в | обновлено_at Когда вы создаете каждую отдельную запись, обновите созданный_at на NOW(). Каждый раз, когда вы обновляете запись, обновляется созданный_at с помощью NOW(). Таким образом, вы будете знать, когда каждая запись обновлялась в последний раз, и сможете запросить результаты, чтобы показать последние измененные записи, или указать диапазон, например, обновление между датами X и Y.
 

KenTx


Рег
17 Sep, 2014

Тем
2

Постов
3

Баллов
23
  • 09, Jun 2024
  • #4
Эта таблица содержит ежемесячные движения. Это в хронологическом порядке. И единственный способ узнать переименовано или нет — сравнить с предыдущим именем. Вы можете увидеть это на примере, который я привел.
 

o-0-0-0


Рег
06 Jul, 2014

Тем
1

Постов
3

Баллов
13
  • 10, Jun 2024
  • #5
Тогда вам придется сделать что-то еще, потому что эта конструкция таблицы не подходит для ваших нужд. Вам действительно следует иметь проверку на изменения и отмечать измененные. Что-то вроде (при обновлении): if name != $SQL-name // set update = 1 (псевдокод). Если у вас этого нет, вам, скорее всего, придется извлекать данные и анализировать их.
 

angels300


Рег
18 Jan, 2014

Тем
0

Постов
3

Баллов
3
Тем
49554
Комментарии
57426
Опыт
552966

Интересно