MySQL:选择MySQL中返回与新行的计数,带句点

MySQL:选择MySQL中返回与新行的计数,带句点,mysql,Mysql,我在MySQL中有一个数据库表,它由以下字段组成: 身份证 用户id 时间戳 这张桌子是访客的简单记录。我试图在一次查询中获得以下数字: 特定时间段(30天)的不同用户id 表中已存在的这些用户id的数量,与时间段无关 通过以下简单查询,我能够在这段时间内完成: SELECT COUNT(DISTINCT user_id) AS 'count_distinct', COUNT(user_id) AS 'count_all' FROM table WHERE

我在MySQL中有一个数据库表,它由以下字段组成:

  • 身份证
  • 用户id
  • 时间戳
这张桌子是访客的简单记录。我试图在一次查询中获得以下数字:

  • 特定时间段(30天)的不同用户id
  • 表中已存在的这些用户id的数量,与时间段无关
通过以下简单查询,我能够在这段时间内完成:

SELECT
    COUNT(DISTINCT user_id) AS 'count_distinct',
    COUNT(user_id) AS 'count_all'
FROM
    table
WHERE
    timestamp BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE();
运行此查询会给出时间段内不同用户id的计数和所有用户id的计数。然后,我可以自己应用数学来计算这段时间内新访客和回头访客的数量。我想弄清楚的是,有多少不同的用户id在30天内访问过,在以前的任何时间点也访问过

我希望你能帮我解决这个问题