Дата и время автохранилища MySQL для каждой строки

Вместо суммирования мы можем использовать mutate. После группировки по 'date1', 'hotel', разделите 'sales' на mean of 'sales', чтобы создать новый столбец

library(tidyverse)
df %>% 
   group_by(date1, hotel) %>% 
   mutate(SalesDividedByMean = sales/mean(sales))

. ПРИМЕЧАНИЕ. Если столбцы имеют разные значения type s, результаты cbind в matrix и matrix могут иметь только один тип. Таким образом, вектор класса character может изменить все данные на character. Обтягивая data.frame, распространяйте это изменение либо на factor (по умолчанию stringsAsFactors = TRUE, либо на `символ)

данные

df <- data.frame(hotel, date1, dba, sales)
44
задан Eric Leschinski 29 October 2014 в 17:20
поделиться

4 ответа

Вы можете использовать ограничения DEFAULT для установки метки времени:

ALTER TABLE
 MODIFY dt_created datetime DEFAULT CURRENT_TIMESTAMP

ALTER TABLE
 MODIFY dt_modified datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

Тогда вам не нужно будет указывать NOW () в ваших операторах INSERT / UPDATE.

Ссылка: Свойства TIMESTAMP

80
ответ дан 26 November 2019 в 21:52
поделиться

мог быть установлен по умолчанию на обновлении строк

ALTER TABLE `tablename` CHANGE `dt` `dt` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
0
ответ дан 26 November 2019 в 21:52
поделиться

Здесь был задан аналогичный вопрос « Отметка времени для MySQL » поле отметки времени будет обновляться при каждом доступе. Вы также можете использовать Триггер , помещенный в рассматриваемую таблицу, чтобы автоматически заполнять эти поля. В зависимости от среды некоторые магазины / предприятия не любят использование триггеров, поэтому вам, возможно, придется искать альтернативные решения.

1
ответ дан 26 November 2019 в 21:52
поделиться
ALTER TABLE  `tablename` CHANGE  `dt`  `dt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

должен быть правильный код.

10
ответ дан 26 November 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: