Вопрос из теста на вакансию PHP разработчика. Сам решить не смог, но интересно узнать правильный ответ. Привожу вопрос точь в точь как в тесте: Какой нужно сделать запрос, чтобы получить распределение количества новостей по датам? Например, 1 марта было 20 новостей, 2 марта — 5 и т. д. Код (Text): |------------- новости ---------------| | id | название | текст | дата | |----|----------|-------|------------| | 1 | ... | ... | 1206512514 | | 2 | ... | ... | 1204168416 | | 3 | ... | ... | 1201065468 | | 4 | ... | ... | 1201646813 | | 5 | ... | ... | 1208416316 |
Код (Text): SELECT DAY(FROM_UNIXTIME(MyTimestamp)) as cntDate ,COUNT(news.id) FROM news GROUP BY cntDate;
Если не смог выполнить эту элементарнейшую задачу, тебе в программировании делать нечего. По крайней мере пока.
@alexblack спасибо @Chushkin во-первых, это не "элементарнейшая" задача, во-вторых, по одному вопросу оценивать способности человека в огромной области знаний - ну, мягко говоря, неправильно
@denis. http://www.w3schools.com/sql/default.asp Советую почитать,там все расписано с примерами. Найдешь большинство ответов на свои будущие вопросы
не поверишь: когда ты написал, как раз в тот момент проходил тест на этом сайте, который предлагается после прочтения материалов:
Данный запрос возвращает количество строк по номеру дня в месяце, а не по дням в общем. То есть результаты от 1 марта и 1 апреля суммируются. Правильным запросом будет: Код (Text): SELECT CONCAT(DAY(FROM_UNIXTIME(timestamp)),MONTH(FROM_UNIXTIME(timestamp)),YEAR(FROM_UNIXTIME(timestamp))) as day, COUNT(*) as news_count FROM news GROUP BY day;
Ну я общую идею передал как посчитать и сгруппировать новости по дню,а дальше ты уже сам отталкивайся от того что тебе нужно конкретно)