如何解决如何在select语句中从一列中选择重复项并从另一列中选择唯一值?
我需要运行一个选择语句,该语句返回 column_A 的值不不同的所有行(例如 Unv_ID)。
例如,如果表格如下所示:
Unv_ID Bus_ID
4000000243771 6000000005041
4000000243771 6000000005089
6000000005132 6000000005042
6000000005132 5000000005173
4000000243771 6000000005041
理想情况下,我希望按 Unv_ID(重复项)分组并仅显示 Bus_ID 的唯一值(非重复项)。
我仍然得到 Unv_ID = 1 - 这是因为只有一个实体吗?
所需的输出:
Unv_ID Bus_ID
4000000243771 6000000005041
4000000243771 6000000005089
6000000005132 6000000005042
6000000005132 5000000005173
当前查询如下(我仍然获得 Unv_ID 和 Bus_ID 的唯一值)
select Unv_ID,Bus_ID
from "table1"
where (UNIV_ID in
(select UNIV_ID from "table1"
group by UNIV_ID having count(*) > 1)
AND
Bus_ID in
(select Bus_ID from "table2"
group by Bus_ID having count(*) < 1))
order by Bus_ID
;
解决方法
如果你想要所有唯一的元组,你可以使用 distinct
:
select distinct univ_id,bus_id from table1 order by univ_id,bus_id
您可以使用聚合打印重复的数量:
select univ_id,bus_id,count(*) as cnt_records
from table1
group by univ_id,bus_id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。