如何使用php打印2列中的唯一值[关闭]

问题描述 投票:-1回答:1

两列

user_id      purchase_item
1              watch
1              TV
2             watch
2             fridge
2             Toys

当我在sql中使用distinct命令与显示数据相同但我想跟随

user_id:1
purchase_item:watch
tv
user_id:2
purchase_item:watch
fridge
Toys

意味着我只想要用户ID打印一次,所以如何在php中帮助我帮助我并告诉编码

php sql
1个回答
1
投票

如果你想在Mysql中完全完成它,你可以使用聚合来获取每个用户以逗号分隔列表的项目

select user_id, group_concat(purchase_item) purchase_item
from table
group by user_id

这会给你带来的结果

user_id      purchase_item
1             watch,TV     
2             watch,fridge,Toys  

另请注意,使用group_concat会将结果截断为group_concat_max_len系统变量给出的最大长度,该变量的默认值为1024.尽管返回值的有效最大长度受值约束,但该值可以设置得更高。 max_allowed_pa​​cket

但是如果你在php中这样做更好,只需获得有序的结果并应用你的逻辑只显示一次user_id,用于与该用户相关的多个purchase_item

select * from table order by user_id asc
© www.soinside.com 2019 - 2024. All rights reserved.