如何从表中删除重复记录

时间:2013-06-29 13:40:41

标签: mysql

这是学生表,学生有两门科目数学和阅读

这两个科目注册了相同的ID我想只显示数学学生 这里的条件是主键(sid,subject);

sid    fname   lname    subject  phno
---    -----   -----    -------- -----
1      vvk     v        math     4444
1      vvk     v        read     4444
2      hari    h        math     5555
2      hari    h        read     5555

3      kalyan  k        read     6666

如何从学生中显示单个记录已经学习数学或阅读,如下所示:

1      vvk     v        math     4444 
2      hari    h        math     5555
3      kalyan  k        math     6666

这里sid和subject是复合主键 如果请在mysql中将查询写入上述结果

1 个答案:

答案 0 :(得分:2)

就像我在评论中提到的那样,你应该规范你的表格,你当前的结构是无效的。

在此之前使用group with group_concat它会将主题组合成一个字段

SELECT 
    sid,fname,lname,phno,group_concat(subject) as subjects 
FROM 
    tablename 
GROUP BY 
    sid

会产生类似

的东西
3  kalyan  k  6666  math,read