За последние 24 часа нас посетили 17819 программистов и 1627 роботов. Сейчас ищут 1479 программистов ...

Помогите с SQL запросом (из вопроса на собеседовании)

Тема в разделе "MySQL", создана пользователем denis., 25 янв 2017.

Метки:
?

За сколько минут Вы решили данную задачу?

  1. 5 минут

    1 голосов
    100,0%
  2. 10 минут

    0 голосов
    0,0%
  3. 15 минут

    0 голосов
    0,0%
  4. 20 минут

    0 голосов
    0,0%
  5. 30 минут

    0 голосов
    0,0%
  6. 1 час

    0 голосов
    0,0%
  7. более 1 часа

    0 голосов
    0,0%
  8. не смог вообще

    0 голосов
    0,0%
  1. denis.

    denis. Новичок

    С нами с:
    25 янв 2017
    Сообщения:
    7
    Симпатии:
    1
    Вопрос из теста на вакансию PHP разработчика. Сам решить не смог, но интересно узнать правильный ответ. Привожу вопрос точь в точь как в тесте:

    Какой нужно сделать запрос, чтобы получить распределение количества новостей по датам? Например, 1 марта было 20 новостей, 2 марта — 5 и т. д.
    Код (Text):
    1.  
    2. |------------- новости ---------------|
    3. | id | название   | текст  | дата        |
    4. |----|----------|-------|------------|
    5. |  1 | ...      | ...   | 1206512514 |
    6. |  2 | ...      | ...   | 1204168416 |
    7. |  3 | ...      | ...   | 1201065468 |
    8. |  4 | ...      | ...   | 1201646813 |
    9. |  5 | ...      | ...   | 1208416316 |
     
    denis01 нравится это.
  2. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    < 1 минуты ;)
     
  3. denis.

    denis. Новичок

    С нами с:
    25 янв 2017
    Сообщения:
    7
    Симпатии:
    1
    Не поделитесь результатом?
     
  4. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Код (Text):
    1. SELECT DAY(FROM_UNIXTIME(MyTimestamp)) as cntDate ,COUNT(news.id) FROM news
    2. GROUP BY cntDate;
     
  5. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Если не смог выполнить эту элементарнейшую задачу, тебе в программировании делать нечего. По крайней мере пока.
     
  6. denis.

    denis. Новичок

    С нами с:
    25 янв 2017
    Сообщения:
    7
    Симпатии:
    1
    @alexblack спасибо

    @Chushkin во-первых, это не "элементарнейшая" задача, во-вторых, по одному вопросу оценивать способности человека в огромной области знаний - ну, мягко говоря, неправильно
     
  7. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    @denis. http://www.w3schools.com/sql/default.asp Советую почитать,там все расписано с примерами. Найдешь большинство ответов на свои будущие вопросы
     
    artoodetoo нравится это.
  8. denis.

    denis. Новичок

    С нами с:
    25 янв 2017
    Сообщения:
    7
    Симпатии:
    1
    не поверишь: когда ты написал, как раз в тот момент проходил тест на этом сайте, который предлагается после прочтения материалов:
    [​IMG]
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Да брось, это же перепевка примеров из документации по count, а не бином ньютона.
     
  10. denis.

    denis. Новичок

    С нами с:
    25 янв 2017
    Сообщения:
    7
    Симпатии:
    1
    Данный запрос возвращает количество строк по номеру дня в месяце, а не по дням в общем. То есть результаты от 1 марта и 1 апреля суммируются. Правильным запросом будет:

    Код (Text):
    1. 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;
     
  11. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Ну я общую идею передал как посчитать и сгруппировать новости по дню,а дальше ты уже сам отталкивайся от того что тебе нужно конкретно)
     
  12. denis.

    denis. Новичок

    С нами с:
    25 янв 2017
    Сообщения:
    7
    Симпатии:
    1
    @alexblack да, спасибо, я изучил этот раздел более подробно теперь.
     
  13. Senseye

    Senseye Новичок

    С нами с:
    7 янв 2017
    Сообщения:
    10
    Симпатии:
    0
    @denis. w3schools-sql.png
    В тесте только варианты выбора, но если есть желание поднять чуть навык есть HackerRank SQL
     
  14. denis.

    denis. Новичок

    С нами с:
    25 янв 2017
    Сообщения:
    7
    Симпатии:
    1
    Спасибо, как раз что то подобное искал