簡體   English   中英

MySQL按子查詢總和排序

[英]MySQL Order By Sum of Subqueries

我試圖通過一組子查詢從表和順序中選擇一組行:

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求和,然后將原始結果從總和最大的那些排序到最小的那些。

問題在於order by子句中的總和:

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 (verified_bool + services_bool) DESC 
LIMIT 0, 10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM