我正在尝试从表中选择一组行并按一组子查询排序:
SELECT *,
(SELECT Count(id) > 0 FROM places_users WHERE places_id = places.id) AS verified_bool,
(SELECT Count(id) > 0 FROM places_services WHERE places_id = places.id) AS services_bool
FROM places
ORDER BY sum(verified_bool + services_bool) DESC
LIMIT 0, 10
但它只返回 1 个结果。子查询检查连接到原始行的其他表。我只需要验证那些其他表至少有 1 个结果,因此我使用布尔值,然后尝试总结子查询 0 或 1,并将原始结果从总和最大的那些排列到最小的那些。