Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql-多行计数查询_Mysql_Sql_Select_Count - Fatal编程技术网

mysql-多行计数查询

mysql-多行计数查询,mysql,sql,select,count,Mysql,Sql,Select,Count,例如,我这里有一个数据 ID Doctor Status 1 Wooka Approved 2 Jamba Approved 3 Jamba Approved 4 Wooka Approved 5 Wooka Approved 6 Wooka Approved 7 Wooka Approved . . . . . . .

例如,我这里有一个数据

ID    Doctor    Status
1     Wooka     Approved
2     Jamba     Approved
3     Jamba     Approved
4     Wooka     Approved
5     Wooka     Approved
6     Wooka     Approved
7     Wooka     Approved
.    .          .
.    .          .
.    .          .
99    
对于前7行(演示目的,不限于7行),我希望它像这样输出

Doctor    Count
Wooka     5
Jamba     2
虽然我不知道如何在COUNT()中做到这一点


我真的不知道如何让我的要求变得灵活

您可以在子查询中使用
limit
子句来限制返回的行数,然后使用执行
计数的聚合查询来包装此查询:

SELECT   doctor, COUNT(*)
FROM     (SELECT   doctor
          FROM     mytable
          WHERE    status = 'Approved'
          ORDER BY id ASC
          LIMIT    7 -- or some other number
         ) t
GROUP BY doctor

查看如何分组BY@Noobster对这就是
group by
子句用于Hello的内容,是的,这是有效的。但我想知道如何映射所有的状态?如Approved、Pending、Denied……列表会一直持续下去?@Noobster如果您想对每个状态进行计数,请删除内部的
where
子句,并将状态添加到
group by
子句中。@Noobster是的,的确如此。这不处理“前7行”要求。
SELECT   doctor, COUNT(*)
FROM     (SELECT   doctor
          FROM     mytable
          WHERE    status = 'Approved'
          ORDER BY id ASC
          LIMIT    7 -- or some other number
         ) t
GROUP BY doctor
SELECT
  t.doctor,
  COUNT(*) AS c
FROM
  table t
WHERE
  t.status = 'Approved'
GROUP BY
  t.doctor