如何在mysql中显示没有重复行的表中的所有字段?

时间:2017-04-12 11:21:12

标签: mysql

我试图显示表分析中符合其他表中条件的所有条目的所有字段,而不显示分析中的任何重复行。

因为我想在分析中显示所有字段,所以我不能使用DISTINCT。所以我在GROUP BY中使用通配符,但查询不仅在分析中返回字段。它也从个人和考试中引入了领域。

            SELECT *
            FROM analysis
            JOIN personal
            ON analysis.FirstName=personal.FirstName
            AND analysis.LastName=personal.LastName 
            JOIN exam 
            ON personal.P_ID=exam.P_ID
            WHERE exam.Level='B1'
            AND exam.Certification='Full'
            GROUP BY analysis.LastName

我可以使用DISTINCT获得我想要的并在分析中指定每个字段,但目前有13个字段,所以我更喜欢一些更整洁的语法:

            SELECT DISTINCT analysis.LastName, analysis.FirstName, analysis.X, analysis.y, ETC ETC 
            FROM analysis
            JOIN personal
            ON analysis.FirstName=personal.FirstName
            AND analysis.LastName=personal.LastName 
            JOIN exam 
            ON personal.P_ID=exam.P_ID
            WHERE exam.Level='B1'
            AND exam.Certification='Full'

1 个答案:

答案 0 :(得分:1)

SELECT analysis.*
            FROM analysis
            JOIN personal
            ON analysis.FirstName=personal.FirstName
            AND analysis.LastName=personal.LastName 
            JOIN exam 
            ON personal.P_ID=exam.P_ID
            WHERE exam.Level='B1'
            AND exam.Certification='Full'

尝试以上代码。 希望这会有所帮助。