我有这个表 calls
id | clientid | salespersonid | duration | statusid | last_update
1 | c11 | sp99 | 05:00 | 1 | yyyy
2 | c11 | sp99 | 06:00 | 1 | yyyy
3 | c11 | sp99 | 07:00 | 3 | yyyy
4 | c12 | sp99 | 08:00 | 3 | yyyy
我执行此查询是为了计算每个销售人员的每个客户的调用次数
select *,count(wpc.id) as num_of_calls
from calls wpc
where wpc.salespersonid=?
group by wpc.clientid
order by wpc.last_update desc
这将返回此结果
id | clientid | salespersonid | duration | statusid | last_update|num_of_calls
1 | c11 | sp99 | 05:00 | 1 | yyyy |3
4 | c12 | sp99 | 08:00 | 3 | yyyy |1
查询很好,但我对程序计算和显示行的顺序不满意。它显示计数的第一行。我希望它显示每个计数的最后一行。
所以结果应该是
id | clientid | salespersonid | duration | statusid | last_update|num_of_calls
3 | c11 | sp99 | 07:00 | 3 | yyyy |3
4 | c12 | sp99 | 08:00 | 3 | yyyy |1
如何显示每个计数的最后一行而不是第一行?
最佳答案
Using ORDER BY and GROUP BY together 的重复项
使用解决方案:https://stackoverflow.com/a/35053900/2397717
SELECT wpc.*, COUNT(wpc.id) AS num_of_calls FROM (SELECT * FROM calls ORDER BY last_update DESC) as wpc GROUP BY wpc.clientid
关于php - 如何显示选择计数的最后一行而不是第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51597937/