SQL -对列b中的每个值对列a进行distinct



我正在使用一个名为du_vertrag的表,我试图建立一个查询,为idstatus对选择不同的值。

输入表:

<表类>id状态日期tbody><<tr>6251899beantragt202010086377042beantragt202010086387891beantragt202010086251899ubergabe202010096377042ubergabe202010096387891ubergabe202010096251899ubergabe202010106377042ubergabe202010106387891ubergabe202010106251899aktiv202010246377042aktiv202010246387891aktiv20201024

如果您需要每个">id"one_answers">状态",您可以聚合这两个字段并选择最小日期以获得输出:

SELECT id, 
status, 
MIN(date) AS date
FROM du_vertrag 
GROUP BY id, 
status

如果你能分享你的DBMS是什么,我可以链接一个小提琴,你可以测试这个解决方案。

这似乎是一个简单的聚合

select id, status, min(date) as date
from du_vertrag
group by id, status;

SELECT *
FROM (SELECT id, status,
row_number() over (partition by id, status order by date asc)) as row_num
FROM du_vertrag) d
where d.r u_num = 1

最新更新