|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
Уважаемые форумчане. Помогите советом как автоматизировать процесс удаления "наименьших" дубликатов записи по двум столбцам=) На примере скриншота - нужно удалить верхнюю запись (там, где наименьшее время) В файле более 120000 записей и нужно удалить записи с одинаковой датой, при этом оставив одну запись с наибольшим значением времени на данном скрине нужно удалить запись от 11.08.14 и время 18.02 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2014, 12:54 |
|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
k_mak, Предположительно наилучший способ в данном случае - внутренний запрос sql. Будет проще помочь, если Вы приложите пример с данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2014, 02:30 |
|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
iMrTidy , спасибо за отклик приложил файлик, в нем пояснил немножко ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 09:11 |
|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
Вот код: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
в файле предварительно нужно создать еще один лист, на который будет вставлен результат В техзадании есть некоторая неточность в поле "Дата и время записи" у вас нет одинаковых записей, видимо вы имели ввиду - дубликаты по дате, отбросив время - я сделал именно так (группировка по первым десяти символам, так как дата у вас в ячейке в виде текста) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2014, 13:42 |
|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
Shocker.Proв файле предварительно нужно создать еще один лист, на который будет вставлен результат В техзадании есть некоторая неточность в поле "Дата и время записи" у вас нет одинаковых записей, видимо вы имели ввиду - дубликаты по дате, отбросив время - я сделал именно так (группировка по первым десяти символам, так как дата у вас в ячейке в виде текста) Спасибо за помощь=)Буду пробовать. По поводу техзадания..может я не так выразился там..я так понял, Ваш вариант будет удалять все записи одного ФИО с одинаковой датой? Мне нужно удалять только ту запись одинаковой даты, в которой временное значение наименьшее..Я правильно понимаю, что в таком случае проще будет по полю "Дата и время записи" искать одинаковую дату по первым 10 символам, а по столбцу "Время" искать наименьшее значение? Или т.к "Время" имеет текстовый формат - сравнение не получится сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 08:47 |
|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
k_makоставив одну запись с наибольшим значениемk_makМне нужно удалять только ту запись одинаковой даты, в которой временное значение наименьшее.так вы определитесь, какой из этих вариантов - это не одно и то же (для случая, когда больше двух записей на одну фамилию и дату) Запрос оставляет сейчас только одну запись из нескольких, где одинаковые: сотрудник, событие, помещение и дата (невзирая на время в столбце даты). При этом в столбце Время выводится минимальное время - это я ошибся - измените Min на Max, чтобы выводилось максимальное время ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 11:43 |
|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
Shocker.Pro , да, мне нужно так, как Вы сделали. Но у меня есть 2 загвоздки: 1.Я попробовал поменять min на max и не могу понять почему получается такой результат (см. приложенный скрин). Может это происходить из-за того, что столбец время имеет не формат времени, а формат текста? 2.Может тогда в таком случае можно сделать доп столбец, который будет содержать только часовое значение( отрезать минуты и секунды из поле времени) и добавить условие в where, например, ...and Час > '18' ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:37 |
|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
Надо либо преобразовать в дату исходный столбец, либо использовать такую конструкцию в запросе: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:02 |
|
Удаление дубликатов записи
|
|||
---|---|---|---|
#18+
1) Добавьте столбец с датой без времени и столбец порядкового номера записи (сначала вычисляемые, потом специальная вставка значений). 2) Отсортируйте по убыванию времени (остальные столбцы можно игнорировать). 3) Удалите дубликаты (по столбцам даты и, скажем, ФИО сотрудника). 4) Отсортируйте обратно - по порядковому номеру. 5) Удалите ненужные столбцы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:53 |
|
|
start [/forum/topic.php?fid=61&fpage=55&tid=2173857]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 405ms |
0 / 0 |