powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / [SQL запрос] DISTINCT - по нескольким полям, одни запросом
17 сообщений из 17, страница 1 из 1
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #35993698
Александр А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, скажите пожалуйста, можно ли выбрать уникальные значения из нескольких полей одним запросом?

Хочу выбрать одним запросом все уникальные значения из 2-х полей (field1, field2) чтобы потом создать массив и вывести результат на экран, но ни как не получается выбрать одним запросом (SELECT DICTINCT field1, field2 FROM table)

Результат этого запроса получается массив с выбранными 2-мя полями но значения НЕ уникальные (то есть повторяются), можно конечно убирать повторяющиеся значения функциями php или использовать DICTINCT только одному полю, но если есть метод получения одним запросом, то подскажите пожалуйста.

За ранее благодарен.
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #35993708
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
SELECT DICTINCT field1 FROM table
UNION ALL
SELECT DICTINCT field2 FROM table
так?
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #35993799
Александр А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Ну практически ) Только позволь поправить не DICTINCT а DISTINCT (А то может кому то потребуется такой приём а он не будет работать) и результат не тот, для меня нужно чтобы результат был в разных массивах т.е используя функцию $field = mysql_fetch_row($result(mysql_query("SELECT DISTINCT field1 FROM table UNION ALL SELECT DISTINCT field2 FROM table")), я бы получал 2 массива:

$field[0] - Массив уникальных значений по полю field1, а
$field[1] - Массив уникальных значений по полю field2, а тут получается один массив с уникальными значениями 2-х объединённых столбцов.
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #35993837
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делайте два отдельных запроса.

PS. Кстати, DICTINCT у вас же скопировал ;)
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #35993857
Александр А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, - Спасибо.

Эх... придётся делать двумя запросами (А это лишнее время на запрос (где то 0.05 сек)).

Да опечатка DISTINCT это моя....только я что то не нашёл кнопки для редактирования сообщения, чтоб исправить и сделать замечание ))
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #35993904
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, есть смысл перепроектировать БД и вынести эти поля в справочники?
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #35993911
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще так:
Код: plaintext
1.
2.
3.
(SELECT DISTINCT field1,  1  field_num FROM table)
UNION ALL
(SELECT DISTINCT field2,  2  FROM table)
ORDER BY field_num
Тогда сможете отличить что откуда
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644567
alena22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Знаю может не совсем по теме, но все равно помогите пожалуйста. есть запрос:
SELECT SUM( `время прохождения дистнации` )
FROM `результаты участников`
INNER JOIN `участиники соревнований` ON `результаты участников`.`порядковый номер участника` = `участиники соревнований`.`порядковый номер участника`
INNER JOIN `соревнования` ON `результаты участников`.`порядковый номер соревнований` = `соревнования`.`порядковый номер соревнования`
WHERE `пол` = "ж"
AND `дата рождения` =1990
AND `порядковый номер соревнования` =1
AND `команда` =1
ORDER BY `время прохождения дистнации`

нужно его доделать, чтоб в результат выводилось не только сумма прохождения дистанции одной команды, а несколько сумм разных команд.
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644569
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alena22,

вот честно скажу - вечер воскресенья, лень думать (но ещё не лень исправлять орфоошибки)... дайте DDL таблиц, и будет вам запрос... в понедельник, около обеда по мск...

ЗЫ.
Код: sql
1.
2.
3.
SELECT SUM(  `время прохождения дистнации` ) 
<...>
ORDER BY  `время прохождения дистнации`

fatal mistake
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644575
alena22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извините за орфографические ошибки. но мозг уже взрывается поэтому опечатки возможны. не подскажите ли мне не грамотной что такое DDL таблиц? и не смейтесь пожалуйста.
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644592
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alena22что такое DDL таблиц?
Код: sql
1.
show create table имя_таблицы

для каждой таблицы, участвующих в запросе
результат - сюда, желательно текстом (не скриншотом)
alena22нужно его доделать, чтоб в результат выводилось не только сумма прохождения дистанции одной команды, а несколько сумм разных команд.а команды как-то задаются извне?
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644596
alena22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таблицы:
группа (ID, порядковый номер участника. порядковый номер соревнований, сумма) (но данная таблица ждет удаления так как в принципе не нужна, поле сумма делала - пытаясь результаты сумм команд туда закинуть не получилось)
команда (ID, команда результат команды) тоже самое таблица не нужная
результаты (порядковый номер соревнований, порядковый номер участника, время прохождения дистанции)
соревнования (порядковый номер соревнования, дата проведения)
участники соревнований ( порядковый номер участника, фамилия, имя, отчество, пол, дата рождения, команда)
команда да, задается извне пользователем.
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644599
alena22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все правильно написала? или что то не так?
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644608
alena22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделала при помощи UNION. правда результат выводится не совсем так как хотелось но уже прогресс - пол дня над этим сижу....
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644622
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем юнион??
alena22команда (ID, команда результат команды) тоже самое таблица не нужная
результаты (порядковый номер соревнований, порядковый номер участника, время прохождения дистанции)
соревнования (порядковый номер соревнования, дата проведения)
участники соревнований ( порядковый номер участника, фамилия, имя, отчество, пол, дата рождения, команда)
команда да, задается извне пользователем.нужная

участники соревнований ( порядковый номер участника, фамилия, имя, отчество, пол, дата рождения, команда)
трансформируется в
участники соревнований ( порядковый номер участника, фамилия, имя, отчество, пол, дата рождения, идкоманды)

запрос
alena22чтоб в результат выводилось не только сумма прохождения дистанции одной команды, а несколько сумм разных команд.
получается таким
Код: sql
1.
2.
3.
4.
5.
select tr.id_team,sum(r.course_time)
from tournament tr
join results r on tr.id=r.id_tr
тут (и в секцию where) можно добавить джойн с таблицей команд и условия на включение команд в результат
where tr.id_team in (список_ид_команд)

таблицу участников джойнить нафиг не надо, если вам нужны только общие суммы результатов по командам (если нужно разбивать суммы по участникам, тогда, конечно, участники нужны)

и совет - всегда указывайте, к какой таблице какое поле относится
оно, конечно, необязательно, но может кучу нервов(и времени) в будущем сэкономить, причём необязательно вам :)
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644629
alena22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, еще бы теперь разобраться....как разберусь скажу большоооое спасибо!
...
Рейтинг: 0 / 0
[SQL запрос] DISTINCT - по нескольким полям, одни запросом
    #38644643
alena22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
знаю, очень нагло и не красиво, но не могли бы пояснить где какая группа у вас в записях.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / [SQL запрос] DISTINCT - по нескольким полям, одни запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]