【问题标题】:Dealing with two unique values in SQL处理 SQL 中的两个唯一值
【发布时间】:2020-07-09 14:35:45
【问题描述】:

我现在正在处理一个包含两个变量的表 - HouseholdID 和 DonationID。我想计算每次捐赠的唯一家庭数量,所以我想以某种方式过滤我的表格,以便我只有第一次家庭捐赠给基金的结果。

在这个^案例中,我想过滤结果,将琼斯捐赠给癌症基金,琼斯捐赠给麦当劳叔叔基金,史密斯捐赠给麦当劳叔叔基金。如何在 SQL 中指定它?

【问题讨论】:

    标签: sql variables unique


    【解决方案1】:

    你一个使用聚合:

    select household, donation, min(date)
    from donations
    group by household, donation;
    

    如果表中有其他列,那么过滤——使用相关子查询或row_number()——是合适的:

    select d.*
    from donations d
    where d.date = (select min(d2.date)
                    from donations d2
                    where d2.household = d.household and d2.donation = d.donation
                   );
    

    【讨论】:

      【解决方案2】:

      如果您真的只是在寻找唯一计数:

      select Donation, count(distinct Household) as Households from donations group by Donation
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 2023-03-30
        • 1970-01-01
        相关资源
        最近更新 更多