2013-08-26 2 views
1

Я пытаюсь выбрать из базы данных, но поскольку база данных как повторяющиеся данные и имена элементов в каждой информации могут дублироваться или не дублироваться. Пожалуйста, посмотрите на пример ниже, чтобы понять большеselect statement без включения повторяющихся данных

Таблица обуви

shoeid pid Name 
1   1 green 
2   1 green 
3   2  red 
4   3  red 

Вот простой пример.

Как я могу выбрать Name и pid из этой таблицы, но я не хочу видеть повторяющиеся числа или имена. например, я не хочу видеть red или green или любого цвета, который у меня есть в базе данных более одного раза. Пожалуйста, помните, что у меня более 100 цветов в базе данных. То же самое применяется к pid

ответ

1

Использование DISTINCT

http://www.mysqltutorial.org/mysql-distinct.aspx
http://www.w3schools.com/sql/sql_distinct.asp

Это может быть то, что вы хотите

это дает вам только уникальные результаты

SELECT DISTINCT Name, pid FROM shoe; 
+1

спасибо это то, что я искал –

+0

не забывайте принимать ответ, как правильный ответ, так что ваши вопрос отмечен как разрешенный ;-) –

0

Использование GROUP BY

select * from `yourtable` group by `pid`,`Name` 
+0

это не работало для меня @ User016 –

0
SELECT DISTINCT Name FROM shoe 

этот запрос получить уникальные значения, если вы хотите, где вы можете использовать его

SELECT DISTINCT Name FROM shoe WHERE your_key = 'your_key_val' 
0

попробовать это:

SELECT DISTINCT Name FROM table_name; 

или если вы хотите максимальный идентификатор в выходной :

SELECT Name, MAX(pid) AS id FROM table_name GROUP BY Name; 

или если вы хотите разделенный запятыми список идентификаторов для этого Имени:

SELECT Name, GROUP_CONCAT(pid) AS id_list FROM table_name GROUP BY Name; 
+1

Имя и pid ;-) –

+0

OP не ясен, поскольку OP не хочет повторять «числа или имена» вместо «числа и имена» – Omesh

+0

«Как я могу выбрать Name и pid " –