Mysql 如何选择(计数+分组依据)和加入
我正在尝试选择我拥有的数据库,但当我尝试选择按某个列中的id按表组中的某个列显示计数时,我被卡住了 以下是我尝试过的查询:Mysql 如何选择(计数+分组依据)和加入,mysql,Mysql,我正在尝试选择我拥有的数据库,但当我尝试选择按某个列中的id按表组中的某个列显示计数时,我被卡住了 以下是我尝试过的查询: SELECT * , SELECT COUNT((DISTINCT daftar.id_daftar) group by daftar.id_kelas) AS Count FROM kelas INNER JOIN matkul
SELECT * , SELECT COUNT((DISTINCT daftar.id_daftar) group by daftar.id_kelas) AS Count
FROM kelas
INNER JOIN matkul
ON kelas.id_matkul = matkul.id_matkul
INNER JOIN proker
ON kelas.id_proker = proker.id_proker order by nama_matkul
daftar表
+-----------+--------+----------+---------------------+
| id_daftar | npm | id_kelas | tgldaftar |
+-----------+--------+----------+---------------------+
| 26 | admin3 | 0 | 2019-06-09 13:04:58 |
| 27 | admin3 | 0 | 2019-06-09 13:07:02 |
| 28 | admin3 | 0 | 2019-06-09 13:07:41 |
| 29 | admin3 | 0 | 2019-06-09 13:08:17 |
| 30 | admin3 | 7 | 2019-06-09 14:00:54 |
| 31 | admin3 | 6 | 2019-06-09 15:34:00 |
+-----------+--------+----------+---------------------+
凯拉斯表
+----------+-----------+-----------+------------+------------+-------+---------+--------+------------+----------+------------+-----------+
| id_kelas | id_proker | id_matkul | nama_kelas | tgl | jam | ruangan | status | buka_tgl | buka_jam | keterangan | kapasitas |
+----------+-----------+-----------+------------+------------+-------+---------+--------+------------+----------+------------+-----------+
| 0 | 2 | 1 | nini | 2019-06-23 | 17.00 | - | 3 | 2019-06-23 | 20.00 | Baus | 3 |
| 6 | 2 | 3 | B | 2019-06-22 | 20.00 | bb | 2 | 2019-06-27 | 12.00 | kk | 30 |
| 7 | 1 | 1 | Aduh | 2019-06-14 | 23.00 | nddm | 2 | 2019-06-29 | 20.00 | oke | 1 |
+----------+-----------+-----------+------------+------------+-------+---------+--------+------------+----------+------------+-----------+
表matkul
+-----------+------------------+
| id_matkul | nama_matkul |
+-----------+------------------+
| 1 | akuntansi biayaz |
| 3 | ewean |
| 5 | ewe |
| 6 | tes |
| 7 | Tesd |
+-----------+------------------+
表普鲁克
+-----------+---------------------------+
| id_proker | nama_proker |
+-----------+---------------------------+
| 1 | Bebelac |
| 2 | Mentoring Accounting Club |
+-----------+---------------------------+
以下是预期结果示例:
有人能帮我吗?
如果您需要每个daftar.id\u kelas的不同计数,感谢您的关注
SELECT daftar.id_kelas COUNT(DISTINCT daftar.id_daftar) AS Count
FROM kelas
INNER JOIN matkul ON kelas.id_matkul = matkul.id_matkul
INNER JOIN proker ON kelas.id_proker = proker.id_proker
group by daftar.id_kelas
如果需要行和计数,那么可以使用内部联接子查询进行计数
select *, t.count
from kelas
inner join (
SELECT daftar.id_kelas, COUNT(DISTINCT daftar.id_daftar) AS Count
FROM kelas
INNER JOIN matkul ON kelas.id_matkul = matkul.id_matkul
INNER JOIN proker ON kelas.id_proker = proker.id_proker
group by daftar.id_kelas
) t on t.id_kelas = kelas.id_kelas
任何查看模式的方法似乎都需要
SELECT daftar.id_kelas COUNT(*) AS Count
FROM daftar
INNER JOIN kelas on daftar.id_kelas = kelas.id_kelas
INNER JOIN matkul ON kelas.id_matkul = matkul.id_matkul
INNER JOIN proker ON kelas.id_proker = proker.id_proker
group by daftar.id_kelas
如果需要行和计数,那么可以使用内部联接子查询进行计数
select *, t.count
from daftar
inner join (
SELECT daftar.id_kelas COUNT(*) AS Count
FROM daftar
INNER JOIN kelas on daftar.id_kelas = kelas.id_kelas
INNER JOIN matkul ON kelas.id_matkul = matkul.id_matkul
INNER JOIN proker ON kelas.id_proker = proker.id_proker
group by daftar.id_kelas
) t on t.id_kelas = daftar.id_kelas
我不只是想清楚,但也选择其他内部连接表,我更新我的预期结果顺便说一句。。你的代码有错误,你的SQL语法有错误;似乎错误就在第16行:“group by daftar.id_kelas t on t.id_kelas=kelas”您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,了解在第8i行的“group by daftar.id_kelas t on t.id_kelas=kelas.id_kelas LIMIT 0,25”附近使用的正确语法我没有限制。。在我的问题中。。因此,请尝试更新您的问题,并向我展示您真正使用的实际查询。您也在引用daftar表,但在FROM和JOIN子句中未提及此内容。。最好检查您的原始查询。。您确定此查询有效吗。。删除选择*??为了获得预期的结果,您应该为实际表模式添加一个清晰的数据样本,而不仅仅是一个指向图像的链接