为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕的地10843 2019-03-07 05:56:19
数据库查询结果: 在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]] 第一个印出日期,第二是只有购买一次的人数,第二是购买两次以上的人数感觉还是怪怪的,有大神给个思路吗?
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

直到遇到问题,一般人的思路都是对的!!!
现在是不知道你遇到什么问题了啊!!!
是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],
]

这个样子的

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 483 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号