我们知道GROUP BY
子句通过指定特定的GROUP BY 'user_id'
忽略重复数据来返回数据,但我想这样做GROUP BY
忽略表行但我想组合该行的数据在数组中,意味着我想要所有数据但在过滤行中
我想要像
id | name | user_id
-------------------
1 abc 20
2 trt 19
3 sdf 20
4 khg 22
5 fdf 20
6 lnm 22
id | name | user_id
-------------------
1 abc,sdf,fdf 20
2 trt 19
3 khg,lnm 22
答案 0 :(得分:1)
请尝试此查询。
Select id, GROUP_CONCAT(name), user_id FROM table_name GROUP BY user_id
我已将group_concat用于名称列。
答案 1 :(得分:1)
使用GROUP_CONCAT
。试试这个查询 -
SELECT id, GROUP_CONCAT(name) name, user_id FROM students GROUP BY user_id
GROUP_CONCAT 函数将一个组中的字符串连接成一个带有各种选项的字符串。
<强>更新强>
在CakePhp中实现它 -
$driverlocation_data = $this->DriverLocation->find(
'all',
array(
'conditions'=>array('DriverLocation.dispensary_id'=>$dispensary_id),
'fields' => array('id', 'GROUP_CONCAT(name) name', 'user_id')
'group'=>array('DriverLocation.driver_id')
)
);