Привет, ребята Я новичок в красном смещении и вам нужна помощь Требование состоит в том, чтобы удалить записи из таблицы, используя dw_created_date, где день недели - суббота. Пожалуйста, помогитеredshift удалить записи с отметкой времени субботы
ответ
Я не использовал Amazon RedShift еще, но после прочтения documentation вы должны найти свои записи с помощью:
SELECT *, to_char(dw_created_date, 'D') dayofweek FROM table
номер 6 в «DAYOFWEEK» будет относиться к субботе так что это будет удалить записей:
DELETE FROM table WHERE to_char(dw_created_date, 'D') = 6
Удачи вам!
Функция красного смещения Amazon TO_CHAR позволяет вам выделять детали даты и информацию о датах и временных отметках от Redshift и получать детали даты.
Вы можете найти информацию о TO_CHAR function here.
Чтобы извлечь необходимую информацию из функции TO_CHAR, вам необходимо использовать соответствующую строку формата даты и времени. В качестве примеров «D» возвращает день недели, DY возвращает аббревиатуру имени дня недели, а DAY - полное полное имя дня недели.
Вы можете найти информацию о date time format strings for Redshift here.
Ниже я предоставляю быстрый фрагмент кода, который показывает, как работает функция TO_CHAR.
create table tba (colint integer, colts timestamp) distkey (colint) sortkey (colts);
insert into tba (colint, colts) values (1, '2016-08-08 08:08:08');
insert into tba (colint, colts) values (1, '2016-08-09 09:09:09');
insert into tba (colint, colts) values (1, '2016-08-10 10:10:10');
insert into tba (colint, colts) values (1, '2016-08-11 10:11:11');
insert into tba (colint, colts) values (12, '2016-08-12 12:12:12');
insert into tba (colint, colts) values (13, '2016-08-13 13:13:13');
insert into tba (colint, colts) values (14, '2016-08-14 14:14:14');
insert into tba (colint, colts) values (15, '2016-08-15 15:15:15');
insert into tba (colint, colts) values (16, '2016-08-16 16:16:16');
insert into tba (colint, colts) values (17, '2016-08-17 17:17:17');
insert into tba (colint, colts) values (18, '2016-08-18 18:18:18');
insert into tba (colint, colts) values (20, '2016-08-20 20:20:20');
insert into tba (colint, colts) values (6, '2016-08-06 06:06:06');
select *
, to_char(colts,'D') day_of_week_number
, to_char(colts,'DAY') day_of_week_name
, to_char(colts,'DY') day_of_week_abbrev
from tba;
colint | colts | day_of_week_number | day_of_week_name | day_of_week_abbrev
--------+---------------------+--------------------+------------------+--------------------
15 | 2016-08-15 15:15:15 | 2 | MONDAY | MON
16 | 2016-08-16 16:16:16 | 3 | TUESDAY | TUE
18 | 2016-08-18 18:18:18 | 5 | THURSDAY | THU
1 | 2016-08-08 08:08:08 | 2 | MONDAY | MON
1 | 2016-08-09 09:09:09 | 3 | TUESDAY | TUE
1 | 2016-08-10 10:10:10 | 4 | WEDNESDAY | WED
1 | 2016-08-11 10:11:11 | 5 | THURSDAY | THU
12 | 2016-08-12 12:12:12 | 6 | FRIDAY | FRI
13 | 2016-08-13 13:13:13 | 7 | SATURDAY | SAT
14 | 2016-08-14 14:14:14 | 1 | SUNDAY | SUN
17 | 2016-08-17 17:17:17 | 4 | WEDNESDAY | WED
20 | 2016-08-20 20:20:20 | 7 | SATURDAY | SAT
6 | 2016-08-06 06:06:06 | 7 | SATURDAY | SAT
(13 rows)
Последнее, но не менее важное: есть две очень важные вещи, на которые следует обратить внимание, если вы новичок в Redshift. Каждый раз, когда вы удалите или обновить значительное количество данных, есть 2 вещи, которые вы всегда должны делать:
- VACUUM - Amazon Redshift делает «логической» удаляет данные, когда «УДАЛИТЬ» или данные «UPDATE». Поэтому, если вы измените значительное количество записей, вы должны запустить vacuum, чтобы физически удалить данные из вашей таблицы. Мое «эмпирическое правило» заключается в том, что всякий раз, когда более 5% данных были удалены или обновлены, пришло время запустить VACUUM. Вы должны выполнить команду, например
vacuum full tab;
. You can find more info about VACUUM here. - ANALYZE - Amazon Redshift зависит от точной статистики табличных данных и распределений, чтобы создать наиболее эффективный план запроса. Если вы удалите, вставьте или измените «значительную» часть данных. Вы должны запустить команду ANALYZE в таблице, чтобы убедиться, что база данных имеет последнюю статистику. Команда образца -
ANALYZE VERBOSE TBA;
. You can find more information about ANALYZE here.
- 1. Выберите записи с отметкой времени
- 2. Выбора MySQL записи с последней отметкой времени
- 3. Удалить значения с самой старой отметкой времени
- 4. Расчет времени с отметкой времени
- 5. C++ утвердить с отметкой времени
- 6. Удаление двоеточие с отметкой времени
- 7. Удалить снимок с отметкой
- 8. Как выбрать только записи с отметкой времени воскресенья
- 9. Удаление элементов с отметкой времени из PriorityQueue
- 10. получить дату с отметкой времени
- 11. Вход пользователя с отметкой времени
- 12. Сортировка массива с отметкой времени
- 13. Запрос SQL с отметкой времени
- 14. сравнить время() с отметкой времени
- 15. проверить сначала с отметкой времени?
- 16. Преобразование даты смещения времени с отметкой времени
- 17. DB parallelurrency - Контрольная сумма с отметкой времени
- 18. Удалить узел XML в соответствии с отметкой времени C#
- 19. Разница между отметкой времени?
- 20. Запрос базы данных MySQL с отметкой времени
- 21. Rails Migarations с той же отметкой времени
- 22. Тестирование пользовательского интерфейса Xcode - ошибка совпадения времени с отметкой времени
- 23. Javascript, сравнивающий текущую дату с отметкой времени
- 24. Найти файл с самой низкой отметкой времени
- 25. проблема производительности с отметкой времени в MySql
- 26. Сохранение изменений в contenteditable с отметкой времени
- 27. mysql query с группировкой с отметкой времени
- 28. Отпечатанное видео с отметкой времени с отметками времени
- 29. python копировать файлы с отметкой времени
- 30. Mysql - подбор года с отметкой времени Unix
Спасибо @ SaschaM78 Это сработало .. !! – Jay
Замечательно! И я могу порекомендовать прочитать немного больше в документах, там будут еще несколько интересных тем, о которых нужно прочитать! – SaschaM78