我从mysql开始,我遇到了这个问题
问题是我想在一个特定的桌子的相关trablas之间进行查询,其中我有人的性别,无论是女人还是男人。
这是我的查询代码
SELECT c.Nom_carre as Preparatory, count(a.Gen_alum) as Gender
FROM alumno a, carrera c WHERE a.idCarrera=c.idCarrera
此代码 count(a.Gen_alum)向我显示了男性或女性的总人数。 我想分开了解,有多少男性和多少女性?
答案 0 :(得分:0)
尝试以下代码。
SELECT c.Nom_carre AS Preparatory,
count(a.Gen_alum) AS Gender
FROM alumno a,
carrera c
WHERE a.idCarrera=c.idCarrera
GROUP BY a.Gen_alum
它可以帮助你。
答案 1 :(得分:0)
在这里,您需要将count
与group by
SELECT c.Nom_carre as Preparatory, count(a.Gen_alum) as Gender
FROM alumno a
JOIN carrera c ON a.idCarrera = c.idCarrera
GROUP BY a.Gen_alum
答案 2 :(得分:0)
您应该使用join
SELECT c.Nom_carre as Preparatory, count(a.Gen_alum) as Gender
FROM alumno a
join carrera c on a.idCarrera=c.idCarrera
group by a.Gen_alum;
<强>更新强>
使用Field()
将垂直数据显示为您的要求
SELECT c.Nom_carre as Preparatory, sum(field(a.Gen_alum,'male')) as Male,sum(field(a.Gen_alum,'Female')) as Female
FROM alumno a
join carrera c on a.idCarrera=c.idCarrera
group by a.idCarrera;
此处为“男性”和“女性”,请从列
更改此计数