duannv2081 2016-01-03 07:53
浏览 126
已采纳

如何计数或在mysql上分组后的行总数

Hy I have 2 tables

1.application

id | name    | status
====================
1  | morvick | complete
2  | siti    | prosess
3  | boby    | complete

2.application_test

id | application_id | test_id | result
======================================
1 | 1 | 1 | 70
2 | 1 | 2 | 80
3 | 1 | 3 | 90
4 | 2 | 1 | 60
5 | 2 | 2 | 80
6 | 2 | 3 | 70
7 | 3 | 1 | 90
8 | 3 | 2 | 70
9 | 3 | 3 | 60
10| 3 | 4 | 80

Myquery Like This :

SELECT test_id, 
SUM(IF(app.status='complete',apt.result,0)) AS complete_sum, 
SUM(IF(app.status='process',apt.result,0)) AS process_sum  
FROM application_test AS apt 
JOIN application AS app ON app.id=apt.application_id 
GROUP BY apt.test_id

and to be like this :
test_id | SUM(result = complete) | SUM(result = proses) |
1 | 90 | 50
2 | 80 | 40
3 | 90 | 60
4 | 80 | 70

My quetion is: how I can get the total or Count number of rows after I do a query GROUPBY.. ? For example, 4 total number

  • 写回答

2条回答 默认 最新

  • douxin1884 2016-01-03 08:12
    关注

    Use subquery,

    Select *, Count(*) as total_rows From(
    SELECT test_id, 
    SUM(IF(app.status='complete',apt.result,0)) AS complete_sum, 
    SUM(IF(app.status='process',apt.result,0)) AS process_sum  
    FROM application_test AS apt 
    JOIN application AS app ON app.id=apt.application_id 
    GROUP BY apt.test_id)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?