Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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_Count_Group By_Output - Fatal编程技术网

MySQL确保输出中存在所有性别

MySQL确保输出中存在所有性别,mysql,count,group-by,output,Mysql,Count,Group By,Output,我的问题是,我有两张表,我会在一秒钟内给你们看,然后我必须打印两种性别如果是第一次,那么计数和1,如果是随后的计数和1,等等,例如,我有这个想象的表: 餐桌安抚 --------------------- id| name |sex| 01| george |m | 02| laura |f | 03| holly |f | 04| bill |m | 05| gene |m | 06| elizabet

我的问题是,我有两张表,我会在一秒钟内给你们看,然后我必须打印两种性别如果是第一次,那么计数和1,如果是随后的计数和1,等等,例如,我有这个想象的表:

餐桌安抚

---------------------
id|    name     |sex|
01|    george   |m  |
02|    laura    |f  |
03|    holly    |f  |
04|    bill     |m  |
05|    gene     |m  |
06|    elizabeth|f  | 
---------------------
表格咨询

------------------------
id|diagnostic|id_pacient
01| random   |01
02| random   |02
03| random   |04
04| random   |01
05| random   |04
06| random   |03
07| random   |06
08| random   |05
09| random   |03
------------------------
到目前为止,我有一个mysql查询:

select
  sex, 
  sum(visits = 1) single_visit, 
  sum(visits > 1) subsequent
from (select p.sex, count(*) as visits
      from pacient p
      join consulting c on p.id=c.id_pacient
      group by c.id_pacient) x
来自自己数据库的结果:

-------------------------
sex|single_visit|subsequent
m  |24          |2(wrong value)
-------------------------
-------------------------
sex|single_visit |subsequent
m  |24           | 1
f  |0            | 1
-------------------------
问题是上面只显示了一种性别,而不是两种性别。随后打印的返回值是两种性别访问的总和,我要求的最终输出应如下所示:

请帮助:最终正确输出(来自我自己的数据库):


您需要在末尾添加一个
分组依据
,如下所示:

select
  sex, 
  sum(visits = 1) single_visit, 
  sum(visits > 1) subsequent
from (select p.sex, count(*) as visits
      from pacient p
      join consulting c on p.id=c.id_pacient
      group by c.id_pacient) x
   group by sex

在结尾处添加一个
分组条款
作为
..)x性别分组
天哪,这是如此的接近,以至于我的头脑发疯了,我尝试了这么多次,谢谢你,先生,如果你添加了正确的答案,我会检查它是否正确谢谢