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

  • Автор темы Beginner1
  • Обновлено
  • 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

Тем
83

Постов
196

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

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

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

DonaldDark


Рег
12 Jan, 2014

Тем
78

Постов
205

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

KenTx


Рег
17 Sep, 2014

Тем
68

Постов
193

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

SmatSnundaKap


Рег
06 Jul, 2014

Тем
76

Постов
179

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

Angels300


Рег
18 Jan, 2014

Тем
70

Постов
199

Баллов
579
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно