如何从mysql表中获取不同的记录?

Stu*_*ent 13 mysql distinct

我有一个像这样的桌子学生

id | name | zip 
1  | abc  | 1234
2  | xyz  | 4321
3  | asd  | 1234
Run Code Online (Sandbox Code Playgroud)

我想获得所有记录,但邮政编码不应重复.因此,如果是上表记录,则应提取记录No 1和2.不会获取第3号记录,因为它的邮政编码已经在第1号记录中

Muk*_*ain 37

SELECT DISTINCT fieldName FROM tableName;
Run Code Online (Sandbox Code Playgroud)

以下查询仅选择不同的"zip"字段.

SELECT DISTINCT zip FROM student;
Run Code Online (Sandbox Code Playgroud)
SELECT * FROM tableName GROUP BY fieldName;
Run Code Online (Sandbox Code Playgroud)

以下查询将选择所有字段以及不同的zip字段.

SELECT * FROM student GROUP BY zip;
Run Code Online (Sandbox Code Playgroud)


diE*_*cho 6

尝试

 SELECT DISTINCT(zip),id,name FROM student;
Run Code Online (Sandbox Code Playgroud)

要么

  SELECT * FROM student GROUP BY zip;
Run Code Online (Sandbox Code Playgroud)


ype*_*eᵀᴹ 5

虽然在 MySQL 中你可以逃脱:

SELECT *
FROM student
GROUP BY zip 
Run Code Online (Sandbox Code Playgroud)

我会选:

SELECT * 
FROM student t
  JOIN 
    ( SELECT MIN(id) AS minid
      FROM student
      GROUP BY zip
    ) AS grp
    ON grp.minid = t.id
Run Code Online (Sandbox Code Playgroud)