You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter/Supabase查询:如何为SELECT语句添加distinct?

Flutter中使用Supabase实现指定字段去重查询

完全可以实现指定字段的去重查询,Supabase的Dart客户端支持两种常用实现方式:

  • 方式一:在SELECT子句中直接指定distinct字段
    直接在select()的查询字符串里用distinct()修饰目标字段,比如对category字段去重并查询该字段:

    final response = await supabase
        .from('products')
        .select('distinct(category)');
    

    如果要同时查询其他字段,distinct仅作用于指定字段,返回该字段去重后对应的第一条匹配记录:

    final response = await supabase
        .from('products')
        .select('distinct(category), id, name');
    
  • 方式二:使用distinct()链式调用方法
    用Supabase客户端提供的distinct()方法指定去重字段,写法更贴合Flutter代码风格:

    final response = await supabase
        .from('products')
        .select('category, id, name')
        .distinct('category');
    

注意:如果不传入字段直接调用distinct(),会对整行数据进行去重(仅过滤完全相同的行);指定字段后则只针对该字段的重复值过滤,返回该字段不同值对应的记录(默认取第一条,可配合order()调整返回的记录顺序)。

内容的提问来源于stack exchange,提问作者Davout

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:22:04