我正在尝试选择 x_id=1 的所有元素,但该结果将有多个具有相同 user_id 的行,我只希望它为每个用户 id 显示一个结果(而不是多个)。我怎么能在完全迷失的 SQL 中做到这一点?
桌子:
一个
编号 | x_id | 用户身份
SELECT DISTINCT user_id FROM table WHERE x_id = 1;
从 x_id = 1 中选择不同的 user_id;
SELECT a.user_id
FROM a a
WHERE a.x_id = 1
GROUP BY a.user_id
- 或者 -
SELECT DISTINCT a.user_id
FROM a a
WHERE a.x_id = 1
这些返回一个等效的结果集。我个人的偏好是使用GROUP BY
,因为有时我想返回行数的计数,或者使用其他一些聚合函数,而 DISTINCT 无法做到这一点。