0
A
回答
2
如果你想返回所有的提示,不管狀態如何,但按活動記錄的數量排序,那麼這就像你將要得到的那樣漂亮。
如果您只想返回活動提示,則可以添加Where status = 'Active'
,然後按Count(t.id)desc命令。
一種替代方法是在提示表中有一個NumActive int列,並且每當爲給定提示添加或修改新的tip_usage記錄時,都會保留此更新。這使得更多的開銷到插入/刪除/更新tip_usage操作,但會使得此查詢簡單得多:
select *
from tips
Order by tips.NumActive desc
另一種方法是:
Select tips.*
From tips
Order by (
Select count(tip_id)
From tips_usage as t
Where t.tip_id = tips.id and status = 'Active') DESC
雖然這種交換的情況下,對於一個子查詢,所以以不同的方式複雜化。
1
快速注意,您不能選擇t。*和t.id組。所以,他這樣說:
SELECT t.id,coalesce(tu.cntUsed,0) as cntUsed
FROM `tips` `t`
LEFT
JOIN (Select tip_id,count(*) as cntUsed
from tip_usage
WHERE status='Active'
group by tip_id
) tu
ON t.id = tu.tip_id
ORDER coalesce(tu.cntUsed,0)
既然你要離開,加盟,包括一些沒有使用的提示,這至少對它們進行分類全部爲零的價值,這是最準確的說法頂部的現實是什麼在表中。
-1
SELECT tips.*, COUNT(*) AS number
FROM tip_usage
LEFT JOIN tips ON tips.id = tip_id
WHERE STATUS = "Active"
GROUP BY tip_id
ORDER BY number DESC
相關問題
- 1. 如何計算ArrayList中某些數字之間的項目數
- 2. 計算某些值
- 3. 通過VBA計算LotusNote項目
- 4. 計算項目數
- 5. 訪問必須通過很多的foreach在計算財產燼
- 6. 通過只添加來計算指數
- 7. 爲某些網址計算瀏覽量
- 8. 錯誤438只時,在某些計算機上
- 9. WMI - 無法通過IP地址連接到某些計算機
- 10. 如何通過某些標準來計算唯一值?
- 11. 計算特定項目的總計數
- 12. 要計算相同項目的計數
- 13. 我需要計算計數的項目
- 14. 計算項目數量PHP
- 15. 計算應用了filterPredicate的NSArrayController中某些記錄的行數
- 16. For循環只計算一次項目
- 17. 這是我必須交給的任務。我錯過了一些關於函數計算的內容
- 18. 通過忽略時間計算天數
- 19. 計算通過一些與模
- 20. 通過數據計算laravel
- 21. 你必須殺死mfc中的計時器嗎?
- 22. 計算時間在某些狀態的時間序列數據
- 23. htaccess的RedirectRule其中目標URL必須被計算
- 24. 計算通過ID
- 25. 計算在SQL Server中運行計數排除某些行
- 26. 如何計算不包含項目中某些內容的代碼行數?
- 27. 你會如何計算Android項目中的活動數量?
- 28. AngularJS:如何計算過濾器項目
- 29. knockout.js - 何時計算項目重新計算依賴關係?
- 30. 只計算矩陣積的必要行
`... WHERE status ='Active'`? – knittl 2011-01-27 12:15:55
列「狀態」屬於哪個表? – 2011-01-27 12:16:54