我试图建立一个SQL查询,应该吐出所有的用户活动,而不是总结或任何东西,只是执行每项活动的完整列表。MySQL GROUP BY的问题
我遇到的问题是,我似乎无法得到GROUP BY的工作,以便打印出每个用户的活动。
SQLFiddle = http://sqlfiddle.com/#!2/5dce6/2
最后,我要建立这个JSON对象:
users: [{
userid: '1',
name: 'John',
activities: [{
activity_typeid: 6431,
time: "2013-01-01 00:00:00",
activity_weight: 20
}, {
activity_typeid: 6431,
time: "2013-01-01 00:00:00",
activity_weight: 20
}]
}, {
userid: '2',
name: Peter',
activities: [{
activity_typeid: 6431,
time: "2013-01-01 00:00:00",
activity_weight: 20
}
}]
}]
SQL:
“GROUP BY”用于将多行组合成一行。如果你想获得所有用户的活动,你不需要它。只需循环遍历结果,并将每行添加为数组中的对象。 – Barmar
SQL无法直接创建JSON。您需要在应用程序中使用逻辑来创建嵌套数组。 – Barmar