我有一个包含不同用户及其偏好的表格,如下所示
+--------+----------+--------------+
| id | user_id | preference_id|
+--------+----------+--------------+
| 15145 | 12 | 1 |
| 15146 | 13 | 1 |
| 15148 | 15 | 2 |
| 15150 | 25 | 2 |
| 15314 | 26 | 3 |
| 15315 | 29 | 1 |
| 15316 | 30 | 3 |
| 15317 | 32 | 3 |
| 15318 | 33 | 1 |
| 15319 | 34 | 2 |
+--------+----------+--------------+
我需要根据首选项 ID 对该用户进行分组。像这样:
+--------+----------+--------------+
| id | user_id | preference_id|
+--------+----------+--------------+
| 15145 | 12 | 1 |
| 15146 | 13 | 1 |
| 15315 | 29 | 1 |
| 15318 | 33 | 1 |
+--------+----------+--------------+
+--------+----------+--------------+
| id | user_id | preference_id|
+--------+----------+--------------+
| 15314 | 26 | 3 |
| 15316 | 30 | 3 |
| 15317 | 32 | 3 |
+--------+----------+--------------+
+--------+----------+--------------+
| id | user_id | preference_id|
+--------+----------+--------------+
| 15148 | 15 | 2 |
| 15150 | 25 | 2 |
| 15319 | 34 | 2 |
+--------+----------+--------------+
我检查了这个 mysqli 查询,但这个显示不能满足我的需求。
$sql="SELECT * FROM gic_user_preference GROUP BY preference_id";
$result=mysqli_query($createCon->connect(), $sql);
while ($arr = mysqli_fetch_assoc($result)) {
var_dump($arr);
}
最佳答案
似乎您需要订购时间
SELECT * FROM gic_user_preference ORDER BY preference_id
并检查循环中的preference_id更改...否则您必须对每个不同的preference_id执行选择并显示结果
关于mysql - 按相同字段值对用户进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47151903/