Я храню данные в базе данных mysql с unix time()
Я хочу выделить данные за несколько дней и повторить их следующим образом:
Monday - value
Tuesday - value
Wednesday - value
Thursday - value
Friday - value
Saturday - value
Sunday - value
Значение сохраняется в базе данных как значение время сохраняется в базе данных со временем
Итак, в основном я хочу выбрать время из базы данных в запросе, который группирует все из них как день, понедельник.. вы понимаете, что я имею в виду?
Любая помощь с этим будет принята с благодарностью.
Сначала замените это целое число на реальный столбец DATETIME
, а затем используйте встроенные функции MySQL, чтобы легко GROUP BY
DAYOFWEEK(column)
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
Нет преимущества хранить целое число вместо реальной даты. Мало того, что вы можете легко конвертировать в временную метку UNIX, если это необходимо в вашем приложении, но вы также сохранили бы место для хранения.
Для преобразования в родительскую дату MYSQL используйте FROM_UNIXTIME(). DAYNAME вернет день недели.
SELECT DAYNAME(FROM_UNIXTIME(col))
Например:
SELECT DAYNAME(FROM_UNIXTIME(1196440219))
Кроме того, чтобы сгруппировать, вы могли бы использовать что-то вроде этого:
SELECT DAYNAME(FROM_UNIXTIME(col)), ... FROM table GROUP BY DAYNAME(FROM_UNIXTIME(col))
Может быть, сообщение может помочь вам: MySQL Query GROUP BY день/месяц/год
Привет!