SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.01.2012 11:54:58

barclayard
Участник
Зарегистрирован: 17.01.2012
Сообщений: 5

Запрос с использованием DISTINCT

Имеется запрос:

SELECT distinct
modul_param.title as title,
modul_param.id as id,
modul_param.did as did
                                 
FROM
modul_param
Inner Join mod_themes ON modul_param.id = mod_themes.mid

WHERE modul_param.did = '.$_POST["id_subject"].'

ORDER BY title

Мне нужно, чтобы distinct был по полю modul_param.title, и достать поля id и did уже для этих совпадений.
В моем случае distinct не действует, возвращаются все поля.

Помогите составить правильный SQL-запрос.

Заранее спасибо!

Неактивен

 

#2 17.01.2012 12:31:34

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Запрос с использованием DISTINCT

Одному значению modul_param.title может соответствовать несколько id и did. Какие должны быть выбраны?

Зачем в запросе объединение с таблицей mod_themes, если данные из не никак не используются?

Неактивен

 

#3 17.01.2012 12:59:20

barclayard
Участник
Зарегистрирован: 17.01.2012
Сообщений: 5

Re: Запрос с использованием DISTINCT

ну, по поводу Inner Join mod_themes ON modul_param.id = mod_themes.mid - это да, можно убрать, просто копировал из другого запроса

допустим, выбрать id первый по возрастанию (т.е. самые меньший; поле did можно выкинуть из запроса - оно не нужно) - как будет выглядеть запрос? (объединение с mod_themes тоже можно откинуть)

Отредактированно barclayard (17.01.2012 13:01:25)

Неактивен

 

#4 17.01.2012 13:03:42

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Запрос с использованием DISTINCT

SELECT max(id), title as title FROM modul_param group by title;


Оно?

Отредактированно deadka (17.01.2012 13:05:01)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 17.01.2012 14:34:59

barclayard
Участник
Зарегистрирован: 17.01.2012
Сообщений: 5

Re: Запрос с использованием DISTINCT

да, я думаю, это поможет, спасибо smile

Отредактированно barclayard (17.01.2012 14:42:09)

Неактивен

 

#6 17.01.2012 14:38:29

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Запрос с использованием DISTINCT

Так тот запрос, который я привёл, он как раз должен выводить уникальные title. Если нужна колонка только с уникальными title (не опираясь на id вовсе), то можно так:
SELECT title FROM modul_param GROUP BY title;
или
SELECT distinct title FROM modul_param;


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#7 17.01.2012 14:42:38

barclayard
Участник
Зарегистрирован: 17.01.2012
Сообщений: 5

Re: Запрос с использованием DISTINCT

да, я уже понял, тот запрос тоже поможет

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson