php - 如何显示选择计数的最后一行而不是第一行?

标签 php mysql count

我有这个表 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/

相关文章:

php - 为什么 PHP 函数 strip_tags() 会删除非标签的数据?如何避免这种情况?

php - 如果年份不同,则无法获取 "inbetween"记录

mysql - 在 MySQL 中使用 IF 语句包含所有结果

c# - Entity Framework 中的分组和计数

php - Vim - 在启用语法突出显示的大型 PHP 文件上更改为正常模式很慢

php - 如何在 PHP 中绘制有向图?

php - 在没有 Cron 作业的情况下创建计划任务

MySQL - 按表中的重复值进行分组以进行计数并将输出保存在另一个表中

r - group_by 跨多列的唯一计数

javascript - 使用 jQuery 文件上传实现所需的用户登录