Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];

Вниз

MySQL   Найти похожие ветки 

 
tButton ©   (2006-08-02 11:16) [0]

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


 
Труп Васи Доброго ©   (2006-08-02 11:18) [1]

tButton ©   (02.08.06 11:16)
Select DISTINCT Mytable.MyField from Mytable


 
tButton ©   (2006-08-02 11:20) [2]

спасиб. проверю)


 
Dok   (2006-08-02 13:20) [3]

Мдя. Мыслю мыслю, а мануал почитать боюсь :)


 
Calm ©   (2006-08-02 15:07) [4]

книжку что ли почитай для чайников?


 
vidiv ©   (2006-08-02 16:50) [5]

не знал про Select DISTINCT.
Можно еще с помощью группировки:
SELECT `Mytable`.`MyField` FROM `Mytable`GROUP BY `Mytable`.`MyField`.


 
ZeroDivide ©   (2006-08-02 23:16) [6]

Мдя.... :)  distinct (и группировка) не даст проверку на уникальность. Он просто выберет уникальные и не уникальные значения в единственном экземпляре.
Спасет только having и одна из разновидностей объединений (не знаю, есть ли в MySQL - minus)

select
...
minus
...
select
...
group by
...
having count(XXX) > 1

Можно еще написать
select
...
where id not in (select id from YYYY where ... group by ... having count(XXX) > 1)


 
Германн ©   (2006-08-03 01:18) [7]


> ZeroDivide ©   (02.08.06 23:16) [6]
>
> Мдя.... :)  distinct (и группировка) не даст проверку на
> уникальность. Он просто выберет уникальные и не уникальные
> значения в единственном экземпляре.

Но ведь нет полной уверенности, что понимал под "все уникальные значения столбца таблицы" автор сабжа.
Просто каждый из отвечающих отвечал в меру своей испорченности :-)
© Известный афоризм.


 
Труп Васи Доброго ©   (2006-08-03 17:31) [8]

ZeroDivide ©   (02.08.06 23:16) [6]
Он просто выберет уникальные и не уникальные значения в единственном экземпляре.

Объяснись по русски, как это "уникальные и не уникальные значения в единственном экземпляре"?
DISTINCT выбирает именно уникальные записи по данному полю.
Просвети пожалуйста, я устроюсь на курсы по SQL.


 
alles ©   (2006-08-03 17:41) [9]

Труп Васи Доброго ©   (03.08.06 17:31) [8]
пример поля с данными
|Name|
Smith
John
Wells
Katrina
John
Jacob

select distinct name  from mytable выдаст тебе результат
|Name|
Smith
John
Wells
Katrina
Jacob

ЗЫ: distinct очень медленно работает при больших количестве строк


 
Труп Васи Доброго ©   (2006-08-03 18:01) [10]

alles ©   (03.08.06 17:41) [9]
выдаст тебе результат

Ну я не вижу косяков, он выдал все УНИКАЛЬНЫЕ записи, что и требовалось вопрошающему.
alles ©   (03.08.06 17:41) [9]
ЗЫ: distinct очень медленно работает при больших количестве строк

При количестве записей порядка 1М тормозов не замечено.
З.Ы. Firebird 1.5


 
vidiv ©   (2006-08-04 09:02) [11]


> При количестве записей порядка 1М тормозов не замечено.

8,261,550 строк, distinct выполняется примерно 2 сек. (при учете, что поле индексированное)
используя группировку 1 сек. :)


 
tButton ©   (2006-08-04 09:25) [12]

поле индексированое
distinct помог
целью выбора уникальных значений было составление автоматического рубрикатора


 
Труп Васи Доброго ©   (2006-08-04 13:24) [13]

vidiv ©   (04.08.06 9:02) [11]
2 сек. (при учете, что поле индексированное)
используя группировку 1 сек. :)

Обалденное преимущество!!!
Всё, больше Distinct не использую!



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
15-1155287138
flad
2006-08-11 13:05
2006.09.03
Читать тексты(книги)на ДВД-проигрывателе?


4-1146633463
Виииктариной
2006-05-03 09:17
2006.09.03
Отсылка нажатых кнопок в другую прогу


5-1139064519
Admeral
2006-02-04 17:48
2006.09.03
Указатель на себя


2-1155197307
Neket
2006-08-10 12:08
2006.09.03
информация


2-1155552509
lex67
2006-08-14 14:48
2006.09.03
Сильнозагружается процессор





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский