Как подсчитать данные за неделю с помощью запроса MYSQL

#mysql #sql #count

#mysql #sql #подсчет

Вопрос:

Мне нужно подсчитать данные в таблице mysql за недели, и если за данную неделю у меня нет данных, тогда значение счетчика должно быть равно значению счетчика предыдущей недели. Есть ли запрос, который позволит мне это сделать? Я попробовал следующий запрос

 SELECT TIMESTAMPDIFF(WEEK,tb.FirstDate,InfoData) AS Week,
       count(*) AS TOT
FROM MyTable,
  (SELECT InfoData AS FirstData
   FROM MyTable
   ORDER BY InfoTime LIMIT 1) tb
GROUP BY Week
 

Комментарии:

1. Что вы пробовали до сих пор?

2. Я попытался ВЫБРАТЬ TIMESTAMPDIFF (WEEK, tb.firstDate, InfoData) как неделю, count(*) как TOT ИЗ MyTable, (ВЫБЕРИТЕ InfoData как FirstData ИЗ MyTable order по InfoTime limit 1) tb group по неделям

3. Но приведенный выше запрос подсчитывает данные только за те недели, за которые есть данные, мне вместо этого подают каждую неделю, и я должен возвращать предыдущее количество, если для данной недели количество равно 0.

4. Создайте таблицу weeks с нужными вам значениями, т.Е. От 0 до 1000 в столбце week_no (почти 20 лет) и выполните левое соединение из этой таблицы с вашим выбором для начала.