2012-01-01 2 views
0

У меня есть таблица, содержащая информацию о серии x число викторин. В нем есть поле для идентификатора, имени, темы и уровня.Как получить одну запись из таблицы с SQL-запросом?

Я хотел бы иметь возможность выбирать все предметы один раз, а не дубликаты, потому что в некоторых викторинах будет один и тот же объект.

Я собираюсь заполнить выпадающее меню этим результатом и разрешить пользователю использовать его для фильтрации результатов поиска - если можно!

То, что я застрял, является SQL-запросом, и я был бы так благодарен за любые предложения, спасибо заранее!

+0

Нужно нормализовать схему базы данных и иметь отдельную таблицу для объектов. Вместо использования отдельного запроса в таблице вопросов. – Bruce

+2

Вам нужны отдельные темы для таблицы, чтобы сделать это проще, и таблица, которую вы описываете, будет иметь subject_id как внешний ключ. ваш SQL-запрос затем «select * from subject» – Ben

+0

Спасибо всем за ваши ответы, метод DISTINCT работал, я попробовал иметь отдельную таблицу для предметов, но это немного сбило другие части моей программы: p – Lissy

ответ

1

Предполагаемый предмет - текстовое поле, содержащее нечто вроде математики или английского языка.

select distinct subject from quizzes 

Или децибел, что озеро отличается

select subject from quizzes group by subject 

Это «правильное», однако, если вы normalize субъекта/уровня в свою таблицу, так как эта информация, вероятно, повторяется снова и снова для каждого теста.

1

distinct является то, что вы хотите:

select distinct subject from thetable; 

Добавить order by если вам нужно/хочу.

1

Если вы ищете предметы без повторяющихся значений

SELECT DISTINCT Subject FROM YourTable 
1
SELECT subject FROM tbl GROUP BY subject; 

ли так же, как DISTINCT в этом случае.

+0

Спасибо, это сработало :) – Lissy

+0

Знаете ли вы, есть ли быстрый способ подсчета результатов? Спасибо :) – Lissy

+0

@Lissy: 'SELECT subject, count (*) AS ct FROM tbl GROUP BY subject;' –

1

Это вернет все из колонки subject, но без дубликатов.

SELECT DISTINCT Subject FROM myTableName 

Вы можете обнаружить, что вы можете быть лучше иметь отдельную Subject таблицу вместо того, чтобы иметь все в одном большом столе.

+0

Спасибо, очень :) – Lissy

+0

Добро пожаловать! :) – keyboardP

Смежные вопросы