C# 仅选择计数为1的记录
到处搜索,似乎找不到该怎么做。我有一个有两列的表C# 仅选择计数为1的记录,c#,oracle,C#,Oracle,到处搜索,似乎找不到该怎么做。我有一个有两列的表 Order route ===== ===== Order_1 100 Order_1 101 Order_2 102 Order_3 103 Order_4 104 我希望结果是 Order_2 102 Order_3 103 Order_4 104 提前感谢。订单是一个保留关键字,因此我使用了订单列 首先,测试数据: create table order_route_table(order_co
Order route
===== =====
Order_1 100
Order_1 101
Order_2 102
Order_3 103
Order_4 104
我希望结果是
Order_2 102
Order_3 103
Order_4 104
提前感谢。
订单
是一个保留关键字,因此我使用了订单列
首先,测试数据:
create table order_route_table(order_column varchar2(20)
, route number);
insert into order_route_table
select 'Order_1', 100 from dual
union all select 'Order_1', 101 from dual
union all select 'Order_2', 102 from dual
union all select 'Order_3', 103 from dual
union all select 'Order_4', 104 from dual;
然后传统上:
select order_column, min(route)
from order_route_table
group by order_column
having count(*) = 1;
使用分析:
select order_column, route
from (select order_column
, route
, count(*) over (partition by order_column) as order_count
from order_route_table)
where order_count = 1;
无论哪种情况,结果都是:
ORDER_COLUMN ROUTE
-------------------- ----------
Order_2 102
Order_3 103
Order_4 104
Order
是一个保留关键字,因此我使用了Order\u列
首先,测试数据:
create table order_route_table(order_column varchar2(20)
, route number);
insert into order_route_table
select 'Order_1', 100 from dual
union all select 'Order_1', 101 from dual
union all select 'Order_2', 102 from dual
union all select 'Order_3', 103 from dual
union all select 'Order_4', 104 from dual;
然后传统上:
select order_column, min(route)
from order_route_table
group by order_column
having count(*) = 1;
使用分析:
select order_column, route
from (select order_column
, route
, count(*) over (partition by order_column) as order_count
from order_route_table)
where order_count = 1;
无论哪种情况,结果都是:
ORDER_COLUMN ROUTE
-------------------- ----------
Order_2 102
Order_3 103
Order_4 104
请向我们展示您尝试过的内容。SQL?C#?很难说你想要什么…很抱歉表格不好,我很快就把它输入了我的平板电脑。谢谢修理。它是一个使用ODP.NET的C#sql字符串。香农的回答很有效。非常感谢。非常棒的网站。请告诉我们您尝试了什么。SQL?C#?很难说你想要什么…很抱歉表格不好,我很快就把它输入了我的平板电脑。谢谢修理。它是一个使用ODP.NET的C#sql字符串。香农的回答很有效。非常感谢。非常棒的网站。谢谢,我实际上没有使用名称顺序。非常感谢您的帮助。在这种情况下,min函数做什么?在
select
子句中使用group by
列时,必须在group by中或在聚合函数中使用。您不希望将route按分组,因为这会导致Order_1行在单独的组中并显示。因此min
获取该组的最小路径。每个组只有一个底层行,因为具有count(*)=1
所以min
为我们获取该路径Max
也可以。谢谢,我实际上没有使用名称顺序。非常感谢您的帮助。在这种情况下,min函数做什么?在select
子句中使用group by
列时,必须在group by中或在聚合函数中使用。您不希望将route按分组,因为这会导致Order_1行在单独的组中并显示。因此min
获取该组的最小路径。每个组只有一个底层行,因为具有count(*)=1
所以min
为我们获取该路径<代码>最大值也可以。