Как получить отличную запись из таблицы mysql?

У меня есть таблица student, как это

id | name | zip 
1  | abc  | 1234
2  | xyz  | 4321
3  | asd  | 1234

Я хочу получить все записи, но почтовый индекс не должен повторяться. Таким образом, в случае записей в таблице выше, записи № 1 и 2 должны быть получены. Запись № 3 не будет выбрана, потому что у нее есть почтовый индекс, который уже находится в записи № 1

Ответ 1

SELECT DISTINCT fieldName FROM tableName;

В следующем запросе будет выбран только отдельный поле "zip".

SELECT DISTINCT zip FROM student;

SELECT * FROM tableName GROUP BY fieldName;

Следующий запрос выберет все поля вместе с различным полем zip.

SELECT * FROM student GROUP BY zip;

Ответ 2

TRY

 SELECT DISTINCT(zip),id,name FROM student;

ИЛИ

  SELECT * FROM student GROUP BY zip;

Ответ 3

Наверху в MySQL вы можете уйти с:

SELECT *
FROM student
GROUP BY zip 

Я бы выбрал:

SELECT * 
FROM student t
  JOIN 
    ( SELECT MIN(id) AS minid
      FROM student
      GROUP BY zip
    ) AS grp
    ON grp.minid = t.id

Ответ 4

Так как предположительно другие столбцы представляют некоторый интерес...

 SELECT y.*
 FROM yourTable y,
 (SELECT MIN(y2.id)
  FROM yourTable y2
  GROUP BY y2.zip) ilv
 WHERE ilv.id=y.id;

(или вы можете использовать max-concat трюк)

Ответ 5

Есть ли какие-либо проблемы, если я использую это ниже?

select distinct zip,name,id from student;

Ответ 6

Попробуйте использовать

Select Distinct(zip),id,name group by zip;

Ответ 7

select id, name, distinct(zip) from student;