mysql - 日期和时间相同的Mysql GROUP_CONCAT问题
问题描述
我试图进行查询以连接一些记录,但我没有得到预期的结果。场景如下:老师可以在校外安排(参观、研讨会),并且可以带几节课。数据库允许将每个类作为唯一记录插入,所以现在我想使用 group_concat 向用户显示,只有一个带有 x 个类的记录。这是我的数据库的一个例子:
id ,activity ,location ,date ,hour , class
344,Vou ao teatro!,Teatro ,2021-03-26,11:00, A
345,Vou ao teatro!,Teatro ,2021-03-26,11:00, B
346,Vou ao teatro!,Teatro ,2021-03-26,11:00, C
347,Museu ,Praça da República - V,2021-05-06,10:00, D
348,Museu ,Praça da República - V,2021-05-06,10:00, E
350,Museu ,Praça da República - V,2021-05-06,10:00, F
354,Museu ,Praça da República - V,2021-05-06,10:00, G
355,Museu ,Praça da República - V,2021-05-06,10:00, H
所以我需要的是连接 id(第一个元素)和类(最后一个元素)只有 2 行而不是 9
我到目前为止是这样的:
SELECT ae.Atividade, ae.Local, ae.DataAula, TIME_FORMAT(ae.HoraInicio, '%H:%i') AS HoraInicio,
TIME_FORMAT(ae.HoraFim, '%H:%i') AS HoraFim, ae.Autorizado, p.Nome,
GROUP_CONCAT(ae.idAula order by ae.idAula) AS idAula,
GROUP_CONCAT(t.Turma order by t.Turma) AS turma
FROM
aulaexteriorturmas AS a
INNER JOIN aulaexterior AS ae
ON (a.idAula = ae.idAula)
INNER JOIN turmas AS t
ON (a.idTurma = t.idTurma)
INNER JOIN anosescolares AS aescolar ON (ae.idAnoEscolar = aescolar.idAnoEscolar)
INNER JOIN professores AS p on (ae.idProfessor = p.idProfessor)
WHERE aescolar.Estado = 1 and ae.Autorizado = '-1'
group BY ae.DataAula, p.Nome;
结果是这样的(显示第一行)
**346,346,346**, Vou ao teatro!,Teatro 2021-03-26,11:00,12:30,"A,B,C"
id重复了……太错误了
请问有什么帮助吗?
解决方案
推荐阅读
- google-apps-script - 如何在谷歌表格脚本编辑器中引用一列数据进行输入?
- sql - 根据子查询结果从表中删除
- python - 获取破折号中的输入更新
- database - 使用 GORM 查询选择列
- php - Apple App Attest 证书验证
- c# - Wpf:使用按钮(MVVM)从列表框中删除项目
- java - 在 ldif 文件中使用 sAMAccountName 和 distinctName
- c# - 如何在托管的 ASP.NET Web API 中使用 System.IO.File 提供相对路径?
- python - 用于优化 SciPy fsolve 函数的动态方程创建
- javascript - 问题将 if 语句转换为 switch case