Необходимо вывести количество регистраций за каждые 10 минут с 2009-09-21 до 2009-09-23. Результаты нужны только один раз.
Дана таблица
CREATE TABLE `regs` (
`user_id` int(11) NOT NULL default '0',
`login` varchar(50) NOT NULL default '',
`reg_date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
Начал решать дошел только до того, сколько пользователей зарегилось в опредленный промежуток времени
SELECT COUNT( `user_id` )
FROM `regs`
WHERE `reg_date`
BETWEEN '2011-03-22' AND '2011-03-24'
А вот что дальше...
PS это не для работы и т.п...просто самому интересно
Спустя 7 минут, 8 секунд (23.03.2011 - 22:20) Trianon написал(а):
SELECT
CONCAT(LEFT(`reg_date`, 15), 'x:xx') AS point,
COUNT( `user_id` ) AS regcount
FROM `regs`
WHERE `reg_date` BETWEEN '2011-03-21 00:00:00'
AND '2011-03-23 23:59:59'
GROUP BY point
ORDER BY point
Спустя 6 минут, 32 секунды (23.03.2011 - 22:26) sharki написал(а):
щас буду разбирать всё по полочкам =)
Спустя 50 минут, 3 секунды (23.03.2011 - 23:16) sharki написал(а):
CONCAT(LEFT(`reg_date`, 15), 'x:xx')
Здесь пару вопросов:
LEFT(`reg_date`, 15) это ф-я вырезает из поля все символы начиная с 15го слева
далее CONCAT(LEFT(`reg_date`, 15), 'x:xx') склеивает все полученные значения (походу все существующее? )т.е 12:00 05:00, только там ведь передается 3 параметра...а тут 2, и третий параметр не понятен, можешь объяснить? =)) или объясни по полочкам, буду благодарен))
Здесь пару вопросов:
LEFT(`reg_date`, 15) это ф-я вырезает из поля все символы начиная с 15го слева
далее CONCAT(LEFT(`reg_date`, 15), 'x:xx') склеивает все полученные значения (походу все существующее? )т.е 12:00 05:00, только там ведь передается 3 параметра...а тут 2, и третий параметр не понятен, можешь объяснить? =)) или объясни по полочкам, буду благодарен))
Спустя 9 минут, 6 секунд (23.03.2011 - 23:26) Trianon написал(а):
sharki
LEFT(s, n) возвращает левые n символов строки s .
То есть дату-время с точностью до 10 минут.
CONCAT подклеит x:xx
2011-03-23 23:3x:xx
LEFT(s, n) возвращает левые n символов строки s .
То есть дату-время с точностью до 10 минут.
CONCAT подклеит x:xx
2011-03-23 23:3x:xx
Спустя 16 минут, 5 секунд (23.03.2011 - 23:42) sharki написал(а):
О, понял, спасибо =)