mySQL算出一个或两个以上的人数?

数据库查询结果:

https://img2.mukewang.com/5c8f3a0d0001321901750121.jpg

在11/11,ID1购买了3次
在11/11,ID2购买了10次
在11月12日,ID36购买了1次
在11月12日,ID37购买了1次

SQL语句「$ chartData」

选择
      count(id)为次,
      ID,
      FROM_UNIXTIME(add_time,'%m /%d')为add_date
      FROM user_order
      GROUP BY id

疑问
我目的是想找出整月份该天「购买一次」的有几人(几笔),购买两次以上的有几人
我这样的语句是对的吗?
我目的是要丢到谷歌的图表,但我发现这样好像不太对,我自己也找不到原因......
https://developers.google.com...
他要的格式是这样

data.addRows([
        [1,37.8,80.8,41.8],
        [2,30.9,69.5,32.4],
        [3,25.4,57,25.7],
        [4,11.7,18.8,10.5],
        [5,11.9,17.6,10.4],
        [6,8.8,13.6,7.7],
        [7,7.6,12.3,9.6],
        [8,12.3,29.2,10.6],
        [9,16.9,42.9,14.8],
        [10,12.8,30.9,11.6],
        [11,5.3,7.9,4.7],
        [12,6.6,8.4,5.2],
        [13,4.8,6.3,3.6],
        [14,1,4,6.2,3.4]
      ]);

我的PHP脚本

foreach($ chartData as $ key){
$ new = null;
        $ old = null;
        if($ key ['times'] == 1){
          $ new + = 1;
          $ old = 0;
        } else {
          $ new = 0;
          $ old + = 1;
        }

        $ data [] = array(
          (int)substr($ key ['add_date'],3,2),(int)$ new,(int)$ old
        );
}

印出的結果是

[[11,0,1],[11,0,1],[12,1,0],[12,1,0]]

第一个印出日期,第二是只有购买一次的人数,第二是购买两次以上的人数
感觉还是怪怪的,有大神给个思路吗?

慕的地10843
浏览 484回答 2
2回答

RISEBY

直到遇到问题,一般人的思路都是对的!!!现在是不知道你遇到什么问题了啊!!!是sql写的不对?还是表格显示不出来? SELECT count(*)as `次数`, id, date(add_date) as `add_date` FROM user_order GROUP BY id ,date(add_date) 这个统计是对的,应该也得把add_date算上这样你就会发现 id为2的用户不会只在11号买了10件东西,也可能是在12号买了一些其他东西。。。。。其次 在表格显示的时候数据应该是 [ [11,first_buy,secend_buy], [12,first_buy,secend_buy], [13,first_buy,secend_buy], [14,first_buy,secend_buy], ] 这个样子的
打开App,查看更多内容
随时随地看视频慕课网APP