MySQL запрос, как это сделать?

0

Я храню данные в базе данных mysql с unix time()

Я хочу выделить данные за несколько дней и повторить их следующим образом:

Monday - value
Tuesday - value
Wednesday - value
Thursday - value
Friday - value
Saturday - value
Sunday - value
Значение

сохраняется в базе данных как значение время сохраняется в базе данных со временем

Итак, в основном я хочу выбрать время из базы данных в запросе, который группирует все из них как день, понедельник.. вы понимаете, что я имею в виду?

Любая помощь с этим будет принята с благодарностью.

Теги:

3 ответа

3
Лучший ответ

Сначала замените это целое число на реальный столбец DATETIME, а затем используйте встроенные функции MySQL, чтобы легко GROUP BY DAYOFWEEK(column)

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

Нет преимущества хранить целое число вместо реальной даты. Мало того, что вы можете легко конвертировать в временную метку UNIX, если это необходимо в вашем приложении, но вы также сохранили бы место для хранения.

0

Для преобразования в родительскую дату 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))
0

Может быть, сообщение может помочь вам: MySQL Query GROUP BY день/месяц/год

Привет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню