Php 4-08-04-2014-08-07将点记录从2014-07-26和访问从2014-07-21返回给我。我使用的查询与您的小提琴所包含的查询完全相同。@radial\u活动哦,好的,很抱歉我在查询中出错了。。等一下,我正在更新。非常感谢您的查询。老实说,这

Php 4-08-04-2014-08-07将点记录从2014-07-26和访问从2014-07-21返回给我。我使用的查询与您的小提琴所包含的查询完全相同。@radial\u活动哦,好的,很抱歉我在查询中出错了。。等一下,我正在更新。非常感谢您的查询。老实说,这,php,jquery,mysql,sql,charts,Php,Jquery,Mysql,Sql,Charts,4-08-04-2014-08-07将点记录从2014-07-26和访问从2014-07-21返回给我。我使用的查询与您的小提琴所包含的查询完全相同。@radial\u活动哦,好的,很抱歉我在查询中出错了。。等一下,我正在更新。非常感谢您的查询。老实说,这是一个最接近完美的例子,但它有soe问题,因为我已经测试了日期。如果我在查询中保存日期,它会返回错误的结果。我想那里少了些什么。你能帮我再检查一下吗?:)@激进的活动好的,你包括什么日期,它看起来像什么?您需要在案例陈述中添加新的日期范围。。复


4-08-04-
2014-08-07
记录从
2014-07-26
访问从
2014-07-21
返回给我。我使用的查询与您的小提琴所包含的查询完全相同。@radial\u活动哦,好的,很抱歉我在查询中出错了。。等一下,我正在更新。非常感谢您的查询。老实说,这是一个最接近完美的例子,但它有soe问题,因为我已经测试了日期。如果我在查询中保存日期,它会返回错误的结果。我想那里少了些什么。你能帮我再检查一下吗?:)@激进的活动好的,你包括什么日期,它看起来像什么?您需要在案例陈述中添加新的日期范围。。复制其中一行,并执行相同的操作,只是为每行增加一部分one@Radical_Activity如果你能用你正在使用的确切查询编辑你的问题,我可以看一下。我说的是你的小提琴。尝试更改日期,如第二个日期从
2014-08-04
更改为
2014-08-05
。它返回3个结果。而且,当我玩过约会的时候,它也给了我奇怪的结果。我也用我的数据试过了,而且
2014-08-04
-
2014-08-07
还给了我
2014-07-26
2014-07-21
访问记录。我使用的查询与您的小提琴所包含的查询完全相同。@radial\u活动哦,好的,很抱歉我在查询中出错了。。一秒钟后我会更新它。
+-------+-------------------+-----------+
|   id  |   date            |  user_id  |
+-------+-------------------+-----------+
|   1   |2014-08-01 05:23:00|       43  |
|   2   |2014-08-01 14:41:00|       21  |
|   3   |2014-08-02 23:54:00|       43  |
|   4   |2014-08-03 03:21:00|       43  |
|   5   |2014-08-03 04:19:00|       34  |
|   6   |2014-08-03 11:33:00|       43  |
|   7   |2014-08-04 12:21:00|       43  |
|   8   |2014-08-05 01:55:00|       43  |
|   9   |2014-08-06 06:13:00|       43  |
|  10   |2014-08-07 19:47:00|       43  |
+-------+-------------------+-----------+
+-------+-------------------+-----------+-------+----------+
|   id  |   date            |  user_id  | points|   status |
+-------+-------------------+-----------+-------+----------+
|   1   |2014-08-01 04:33:00|       43  |   10  |        0 |
|   2   |2014-08-02 05:21:00|       21  |   23  |        0 |
|   3   |2014-08-02 09:01:00|       43  |   32  |        1 |
|   4   |2014-08-02 01:21:00|       43  |   21  |        0 |
|   5   |2014-08-03 23:23:00|       34  |   54  |        0 |
|   6   |2014-08-04 20:34:00|       43  |   11  |        0 |
|   7   |2014-08-04 17:54:00|       43  |    9  |        0 |
|   8   |2014-08-04 03:45:00|       43  |   34  |        0 |
|   9   |2014-08-06 08:23:00|       43  |   76  |        0 |
|  10   |2014-08-07 11:43:00|       43  |   52  |        0 |
+-------+-------------------+-----------+-------+----------+
+---------------------+-----------+-------+-------+-------------+
|   date              |  user_id  | points| visits| points_count|
+---------------------+-----------+-------+-------+-------------+
|2014-08-01-2014-08-03|     43    | 31    | 4     | 2           |
|2014-08-04-2014-08-07|     43    | 182   | 4     | 5           |
+---------------------+-----------+-------+-------+-------------+
select count(id)
from visits
join points on points.user_id = visits.user_id
where date between 2014-08-04 00:00:00 and 2014-08-07 00:00:00
and visits.user_id = 43
SELECT *
FROM
  (SELECT 
    count(v.id) AS visit_count, 
    count(p.id) AS point_count, 
    sum(p.points) AS points
  FROM visits v1
  JOIN points p1
  ON v1.user_id = p1.user_id
  WHERE v1.user_id = 43
  AND DATE(v1.date) BETWEEN '2014-08-01' AND '2014-08-03'
  AND p1.status = 0
  UNION ALL
  SELECT 
    count(v.id) AS visit_count, 
    count(p.id) AS point_count, 
    sum(p.points) AS points
  FROM visits v2
  JOIN points p2
  ON v2.user_id = p2.user_id
  WHERE v2.user_id = 43
  AND DATE(v2.date) BETWEEN '2014-08-04' AND '2014-08-07'
  AND p2.status = 0
) temp
SELECT 
    t.join_date as 'Time Frame',
    t1.user_id,
    t.num_visits,
    t1.num_points,
    t1.total_points
FROM
(   SELECT 
        CASE 
            WHEN DATE(date) >= '2014-06-01' AND DATE(date) <= '2014-07-10' THEN 1 
            WHEN DATE(date) >= '2014-08-05' AND DATE(date) <= '2014-08-07' THEN 2 
            ELSE 3
        END AS grouping_col,
        CONCAT(MIN(DATE(date)), ' - ', MAX(DATE(date))) as join_date,
        COUNT(id) as num_visits 
    FROM visits 
    WHERE user_id = 43
    GROUP BY grouping_col 
)t
LEFT JOIN 
(   SELECT
        CASE 
            WHEN DATE(date) >= '2014-06-01' AND DATE(date) <= '2014-07-10' THEN 1 
            WHEN DATE(date) >= '2014-08-05' AND DATE(date) <= '2014-08-07' THEN 2 
            ELSE 3
        END AS grouping_col,
        CONCAT(MIN(DATE(date)), ' - ', MAX(DATE(date))) as join_date,
        user_id,
        COUNT(id) as num_points,
        SUM(points) as total_points
    FROM points
    WHERE user_id = 43
      AND status = 0
    GROUP BY grouping_col
)t1 ON t1.grouping_col = t.grouping_col
WHERE t.grouping_col IN(1, 2) OR t1.grouping_col IN(1, 2)