Suggest column facet only if at least one count > 1

Fixes #638
This commit is contained in:
Simon Willison 2019-11-21 16:56:55 -08:00
commit fd137da7f8
4 changed files with 65 additions and 35 deletions

View file

@ -143,9 +143,10 @@ class ColumnFacet(Facet):
if column in already_enabled:
continue
suggested_facet_sql = """
select distinct {column} from (
select {column}, count(*) as n from (
{sql}
) where {column} is not null
group by {column}
limit {limit}
""".format(
column=escape_sqlite(column), sql=self.sql, limit=facet_size + 1
@ -165,6 +166,8 @@ class ColumnFacet(Facet):
and num_distinct_values > 1
and num_distinct_values <= facet_size
and num_distinct_values < row_count
# And at least one has n > 1
and any(r["n"] > 1 for r in distinct_values)
):
suggested_facets.append(
{