[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Тестовое задание по SQL
sharki
Нашел Тестовое задание в инете, думаю дай как решу её, и повис О_О

Необходимо вывести количество регистраций за каждые 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, и третий параметр не понятен, можешь объяснить? =)) или объясни по полочкам, буду благодарен))

Спустя 9 минут, 6 секунд (23.03.2011 - 23:26) Trianon написал(а):
sharki
LEFT(s, n) возвращает левые n символов строки s .
То есть дату-время с точностью до 10 минут.
CONCAT подклеит x:xx

2011-03-23 23:3x:xx

Спустя 16 минут, 5 секунд (23.03.2011 - 23:42) sharki написал(а):
О, понял, спасибо =)

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.