sql数据 如图:
number 代表的意思是 比如序号为1 number为1 的 2016-08-23 一天 2016-08-24 1一天。
序号为2的 number为5 代表2016-08-22 为5天。
要求是 统计每一个的个数 最后。
如图显示:
js:代码
InitChartList: function (json, startTime, sEndTime) { objData.spMsg.css("visibility", "hidden"); if (objValue.msgJudge(json)) return; var objChart = CallBack.InitChartConfig(startTime, sEndTime); var seriesData = {} for (var i = 0; i < json.rows.length; i++) { var allDate = objValue.getStatrEndDate(json.rows[i].task_start_date, json.rows[i].task_end_date); for (var j = 0; j < allDate.length; j++) { seriesData[json.rows[i].task_leader] = { key: allDate[i], value: json.rows[i].number }; } } }
allDate 能算出日期直接所有的集合
不知道园友有什么好的思路和建议没。
1 2016-08-23 2016-08-24 y 5 2016-08-22 2016-08-23 x 3 2016-08-22 2016-08-24 x 2 2016-08-22 2016-10-28 x 9 2016-08-23 2016-08-24 x 1 2016-08-23 2016-10-28 x
统计出这个个数 比如
y的对应:2016-08-23 1天 2016-08-24 1天
x的对应 2016-08-22 5天 2016-08-23 5天
x的对应 2016-08-22 5+3=8天 、、这样累加
我貌似也没看到问题是啥?
方便电话说下不。是没表达清楚。
@s_p: 学会如何提问。电话太麻烦了。
@幻天芒: 。。。
@s_p: 伪代码,将就看:
var users = []; // 你的用户列表 var dates = []; //你的日期列表 var list = [{}]; //数据库查询结果 var getCount(user, date){ // 根据用户和日期从list中遍历查询匹配项的number,累加 var c = 0; for(list){ if(l){ c+=number; } } }; var result = {}; // 存储结果的对象 for(users){ for(dates){ //双层循环取结果。 result[u][d] = getCount(u, d); } }
问题呢?
统计个数就是groupby呗?