diff --git a/api/graphql/resolvers/faces.go b/api/graphql/resolvers/faces.go index a712c023..6a03e245 100644 --- a/api/graphql/resolvers/faces.go +++ b/api/graphql/resolvers/faces.go @@ -107,9 +107,11 @@ func (r *queryResolver) MyFaceGroups(ctx context.Context, paginate *models.Pagin } faceGroupQuery := r.Database. - Joins("LEFT JOIN image_faces ON image_faces.id = face_groups.id"). + Joins("LEFT JOIN image_faces ON image_faces.face_group_id = face_groups.id"). Where("image_faces.media_id IN (?)", r.Database.Select("media_id").Table("media").Where("media.album_id IN (?)", userAlbumIDs)). - Order("CASE WHEN label IS NULL THEN 1 ELSE 0 END") + Group("image_faces.face_group_id"). + Order("CASE WHEN label IS NULL THEN 1 ELSE 0 END"). + Order("COUNT(image_faces.id) DESC") faceGroupQuery = models.FormatSQL(faceGroupQuery, nil, paginate)