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
相关产品推荐
相关产品推荐

