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