Sql 如何根据同一查询中的条件计算所有记录和部分记录?
我尝试在sql中使用以下命令Sql 如何根据同一查询中的条件计算所有记录和部分记录?,sql,Sql,我尝试在sql中使用以下命令 SELECT year(datecreated) as tahun, jenis_kelamin, COUNT(jenis_kelamin) as jumlah from santri GROUP by jenis_kelamin, tahun 但它是这样表现的 +------+-------------+-----------+ | Tahun|jenis_kelamin| JUmlah | +------+-------------+----------
SELECT year(datecreated) as tahun, jenis_kelamin, COUNT(jenis_kelamin) as jumlah
from santri
GROUP by jenis_kelamin, tahun
但它是这样表现的
+------+-------------+-----------+
| Tahun|jenis_kelamin| JUmlah |
+------+-------------+-----------+
| 2009 | Laki_laki| 5 |
+------+-------------+-----------+
|2010 | Perempuan | 7 |
+------+-------------+-----------+
|2010 | laki-laki | 6 |
+------+-------------+-----------+
+------+-----------+-----------+-----+
| Tahun| laki-laki | perempuan |Jumlah
+------+-----------+-----------+-----+
| 2009 | 5 | 0 | 5 |
+------+-----------+-----------+-----+
| 2 | 6 | 7 | 13 |
+-----+------------+-----------+-----+
我想要像这样的sql视图
+------+-------------+-----------+
| Tahun|jenis_kelamin| JUmlah |
+------+-------------+-----------+
| 2009 | Laki_laki| 5 |
+------+-------------+-----------+
|2010 | Perempuan | 7 |
+------+-------------+-----------+
|2010 | laki-laki | 6 |
+------+-------------+-----------+
+------+-----------+-----------+-----+
| Tahun| laki-laki | perempuan |Jumlah
+------+-----------+-----------+-----+
| 2009 | 5 | 0 | 5 |
+------+-----------+-----------+-----+
| 2 | 6 | 7 | 13 |
+-----+------------+-----------+-----+
我试图修改我的命令,但仍然与此不同您似乎想要条件聚合:
+------+-------------+-----------+
| Tahun|jenis_kelamin| JUmlah |
+------+-------------+-----------+
| 2009 | Laki_laki| 5 |
+------+-------------+-----------+
|2010 | Perempuan | 7 |
+------+-------------+-----------+
|2010 | laki-laki | 6 |
+------+-------------+-----------+
+------+-----------+-----------+-----+
| Tahun| laki-laki | perempuan |Jumlah
+------+-----------+-----------+-----+
| 2009 | 5 | 0 | 5 |
+------+-----------+-----------+-----+
| 2 | 6 | 7 | 13 |
+-----+------------+-----------+-----+
SELECT YEAR(datecreated) as tahun,
SUM(CASE WHEN jenis_kelamin = 'laki-laki' THEN 1 ELSE 0 END) as lakilaki,
SUM(CASE WHEN jenis_kelamin = 'Perempuan' THEN 1 ELSE 0 END) as Perempuan,
COUNT(*) as jumlah
from santri
GROUP by tahun;
我将第二行中的
tahun
值解释为输入错误。(1)我删除了不兼容的数据库标记。只标记您真正使用的数据库。(2) Tahun=
2`从何而来?您想处理多少不同的jenis_kelamin值?我使用Xampthank u@GordonLinoff的sql