Как получить отличную запись из таблицы 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;