Как посчитать элементы в месяц с датой, прикрепленной к каждому в PHP? - PullRequest
0 голосов
/ 12 июня 2018

Я хочу подсчитать всех новых студентов за данный месяц с десяти лет назад до сегодняшнего дня и поместить эту информацию в таблицу, разделенную месяц за месяцем.

У меня есть таблица пользователей mysql с датой пользователязарегистрирован в формате отметки времени.

Итак, у меня есть что-то вроде этого: (формат дд-мм-гггг)

Unix --------------- readable date  
1528743811 --------- 11-6-2018  
1528740914 --------- 11-6-2018  
1528740347 --------- 11-6-2018  
1528733661 --------- 11-6-2018  
1528676301 --------- 10-5-2018  
1528657978 --------- 10-5-2018  
1528508065 --------- 8-5-2018   
1528492266 --------- 8-4-2018
etc..

Как я могу сделать подсчет?(Я бы оценил даже идею о том, с чего начать, или как на самом деле сформулировать проблему, даже в seudocode).

Я ожидаю что-то вроде этого:

4-2018  --------- 1
5-2018  --------- 3
6-2018  --------- 4

Пожалуйста, если вы считаете, что вопрос синтаксис может быть улучшен , дайте мне знать, спасибо!(английский не мой основной язык).

Кроме того, если вы хотите понизить рейтинг или проголосовать за вопрос, который будет закрыт или удален, , пожалуйста, оставьте мне комментарий о том, почему, чтобы я мог улучшить свои вопросы.Спасибо.

1 Ответ

0 голосов
/ 12 июня 2018

Вы можете сделать все это в SQL с помощью FROM_UNIXTIME() и GROUP BY:

SELECT 
    FROM_UNIXTIME([Unix], '%M %Y') AS Label, 
    COUNT(*) AS Count 
FROM [table] 
GROUP BY MONTH(FROM_UNIXTIME([Unix])), YEAR(FROM_UNIXTIME([Unix]))
WHERE ADDDATE(FROM_UNIXTIME([Unix]), INTERVAL 10 YEARS) >= CURDATE()

Или, если это слишком много FROM_UNIXTIME, вы можете запросить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...