mysql - group_concat 中的重复结果

标签 mysql

我的数据库中有这些数据(3,15,6,4,15),我尝试使用组连接在我的表格上显示它,问题是我得到了重复的结果。 (3,15,6,4,15,3,15,6,4,15,3,15,6,4,15)。

我尝试使用不同的,但它也消除了另一个“15”。

最好的解决方案是什么? 谢谢!

这是我的查询

SELECT users.*, GROUP_CONCAT(written.score separator ' - ') as Wscore, student_subject.*,SUM(written.score) as total, SUM(written.item) as item FROM users JOIN written ON users.idnumber=written.idnumber JOIN student_subject ON users.idnumber=student_subject.idnumber WHERE student_subject.teacher='$login_session' AND written.section='$section' AND written.level='$level' AND written.year='$year' AND written.subject='$subject' AND users.gender='male' AND written.period='first' GROUP BY users.idnumber order by users.lname

最佳答案

您可能只想在 group_concat() 中实现distinct:

SELECT u.*, GROUP_CONCAT(distinct w.score separator ' - ') as Wscore, 
       ss.*, SUM(w.score) as total, SUM(w.item) as item
FROM users u JOIN
     written w
     ON u.idnumber = w.idnumber JOIN
     student_subject ss
     ON u.idnumber = ss.idnumber
WHERE ss.teacher = '$login_session' AND w.section='$section' AND 
      w.level = '$level' AND w.year = '$year' AND w.subject = '$subject' AND 
      u.gender = 'male' AND w.period = 'first' 
GROUP BY u.idnumber
order by u.lname;

请注意表别名如何使查询更易于编写和读取。

关于mysql - group_concat 中的重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32550678/

相关文章:

mysql - 在 mySQL 中对列进行除法和乘法

mysql - 构建用户收藏夹表的正确方法是什么(性能)

mysql - 错误 1193 (HY000) : Unknown system variable while Creating a trigger

mysql - 如何使用 group by 进行 mysql 查询

php - 登录脚本 - 计算行数或使用 COUNT ('column' )

mysql - 如何在 SQL 中删除重复(两行的混合)行?

jquery - 我是 codeigniter 的新手,我想用 ajax 在我的数据表中添加分页

php - MYSQL union PHP 选择一个结果列

mysql - Django MySQLdb 版本与 _mysql 版本 Ubuntu 不匹配

mysql - 如何连接本地端口和网关主机?