给定下面的表“用户”:
+----+---------+--------+
| id | name | office |
+----+---------+--------+
| 1 | David | 1 |
| 2 | Roz | 1 |
| 3 | Patrick | 2 |
| 4 | Chris | 3 |
| 5 | Agnes | 3 |
| 6 | Freya | 3 |
+----+---------+--------+
我想选择任何给定办公室的第一个用户,但前提是有多个用户,所以:
- 办公室 1 = 用户 1 (大卫)
- 办公室 2 = NULL
- 办公室 3 = 用户 4 (克里斯)
类似于以下内容:
SET @office_id = 2;
SELECT *
FROM `users`
WHERE `office` = @office_id AND number-of-users-for-office > 1
ORDER BY `id` ASC
LIMIT 1;