如何解决如何创建唯一的 id 条目并过滤这些 id 的特定列值 (Postgresql)
您可以在下方看到每位客户的多个产品条目以及他们购买产品的时间。然而,我只关心他们是否曾经购买过产品 1,如果他们从未购买过,我会用产品 x 填充单元格而不是跳过 id。我正在使用 Postgresql!
这是当前表:
这是想要的结果:
我正在尝试这张桌子,但它没有提供我正在寻找的东西。有没有可能把第一个表变成第二个?
select distinct on ("id")
"id","buying date","product",case when "product"='product 1' then 'product 1' else 'product x' as "Product2"
from product
order by 1,2
解决方法
如果我理解正确,您想要的逻辑应该在 order by
子句中:
select distinct on ("id")
"id","buying date","product"
from product
order by id,("product" = 'product 1') desc,-- put product1 first
"buying date";
对于布尔表达式,DESC
先对 true
值排序,然后是 false
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。