Как мне суммировать посещения с помощью SQL-запроса? - PullRequest
0 голосов
/ 17 июня 2009

Я пытаюсь отфильтровать базу данных SQL.

Каждая строка представляет пользователя, основной столбец, на котором я фокусируюсь, называется last_visited и форматируется как… 2009-06-17 12: 15: 32.

Сколько пользователей посетили сайт за последний день / неделю / месяц?

Как в:

SELECT COUNT(*) AS USERS_TODAY
FROM parts_users
Where updated_at > (NOW()-7)

Ответы [ 2 ]

5 голосов
/ 17 июня 2009

Так это текст столбца или дата-время? Если первое:

SELECT COUNT(*) AS USERS_TODAY 
FROM parts_users
WHERE CONVERT(datetime, updated_at, 120) > DATEADD(day, -7, GETDATE())

Если последнее, пропустите CONVERT.

Кроме того, вы можете найти что-то вроде этого полезным:

SELECT CONVERT(datetime, LEFT(updated_at, 10), 120) AS DATE_ONLY,
       COUNT(*) AS USERS_TODAY 
FROM parts_users
WHERE CONVERT(datetime, updated_at, 120) > DATEADD(day, -7, GETDATE())
GROUP BY CONVERT(datetime, LEFT(updated_at, 10), 120)
0 голосов
/ 17 июня 2009

Как запросить несколько сумм одного и того же элемента с помощью SQL в iReport

SELECT
  SUM(case when (NOW()-1) <= datetime then 1 else 0 end) as 'today',
  SUM(case when (NOW()-7) <= datetime then 1 else 0 end) as 'thisweek',
  COUNT(*) as 'thismonth'
FROM
  table
WHERE
  (NOW()-30) <= datetime AND datetime <= NOW()
...