Реклама на сайте Advertise with us

MySQL, уникальность

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 18/08/10 в 13:26       Ответить с цитатойцитата 



как выбрать 3 домена с уникальным титлом?

0
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 18/08/10 в 13:36       Ответить с цитатойцитата 

Код: [развернуть]

не совсем понятно из твоего рисунка, но поправил

Последний раз редактировалось: Sterx (18/08/10 в 13:48), всего редактировалось 1 раз

крипта на ByBit

4
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 18/08/10 в 13:45       Ответить с цитатойцитата 

Sterx: я недаром там нарисовал что должно выбраться smail101.gif.
твой запрос вернет
blogspot.com Тестовая запись 1
livejournal.com Тестовая запись 5
wordpress.com Тестовая запись 5

ты сгруппировал по полю domain но поле титл "собралось" на них первое попавшееся. т.е. попал дубль

0
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 18/08/10 в 13:49       Ответить с цитатойцитата 

Sterx писал:
Код: [развернуть]

или так

крипта на ByBit

4
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 18/08/10 в 13:57       Ответить с цитатойцитата 

blogspot.com Тестовая запись 1
blogspot.com Тестовая запись 2
blogspot.com Тестовая запись 3

...если убрать LIMIT то все 6 записей выплывут. ничего не поменялось.
Ты на титл повесил уникальность, собственно они и перебрались по-порядку.

0
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 18/08/10 в 13:59       Ответить с цитатойцитата 

тут пересечение множеств. Множество доменов на множество титлов. Задача выбрать уникальные связки.

0
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 18/08/10 в 14:04       Ответить с цитатойцитата 

смотри в сторону GROUP CONCAT и уникализируй по полученному полю.
лень таблицу набивать

крипта на ByBit

4
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 18/08/10 в 14:14       Ответить с цитатойцитата 

конкат тут не нужен. задача то простая, выбрать

wordpress.com \ Тестовая запись 5
livejournal.com \ Тестовая запись 6
blogspot.com \ Тестовая запись 1 (тут любое от 1 до 4)

или

wordpress.com \ Тестовая запись 6
livejournal.com \ Тестовая запись 5
blogspot.com \ Тестовая запись 1 (тут любое от 1 до 4)

smail101.gif

0
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 18/08/10 в 15:18       Ответить с цитатойцитата 

валидируй данные на входе и не надо будет маяться этим самым.

крипта на ByBit

4
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 18/08/10 в 15:44       Ответить с цитатойцитата 

Sterx: вопрос не про валидацию данных. Все что надо 33 раза валидируется. титлы и домены имеют связь N к M (по полю theme_id).

еще упростил вопрос

0
 



С нами с 01.03.06
Сообщения: 629
Рейтинг: 620

Ссылка на сообщениеДобавлено: 18/08/10 в 15:49       Ответить с цитатойцитата 

SQL не решает задачи "распределения". что ему например делать, если у тебя в базе будет:
wordpress.com \ Тестовая запись 5
wordpress.com \ Тестовая запись 6
livejournal.com \ Тестовая запись 5
livejournal.com \ Тестовая запись 6
blogspot.com \ Тестовая запись 5
blogspot.com \ Тестовая запись 6
?
т.ч. имхо - выбирай то что главнее тайтл или домен, а уже оставшуюся часть разрешай в скрипте.

4
 



С нами с 07.10.01
Сообщения: 4835
Рейтинг: 3672


Передовик Master-X (16.06.2008)
Ссылка на сообщениеДобавлено: 18/08/10 в 17:29       Ответить с цитатойцитата 

Мне тоже кажется, что просто SQL тут не обойтись.

Лучшие в Рунете: товарная партнёрка - от 4 рублей за клик.
CPA агрегатор - тысячи отличных офферов!

4
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 18/08/10 в 17:58       Ответить с цитатойцитата 

Heavy: не надо никаких распределений. Реальная ситуация - в школьном журнале на каждого ученика N записей ФИО. И каждый должен получить разный пирожок. Т.е. задача выбрать из всего бардака уникальных учеников. и раздать им всем разные неповторяющиеся пирожки.

Более просто:
http://imglink.ru/show-image.php?id=6589f15810e48f29a354410b425f836a


Выбрать только те строки в которых id2 будет уникально. Т.е. к примеру делаем GROUP BY id1 и выборка получается такая:
1 | 5
2 | 5
Потому что в поле id2 падает первое попавшееся значение. т.е. в итоговой таблице есть дубль.

А надо чтобы было:

1 | 6
2 | 5
или
1 | 5
2 | 6

Т.е. группировка по полю id1, с возможностью для id2 задать общую уникальность в результате.

в скрипте можно развести, не спорю. но хотелось бы... smail101.gif

0
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 18/08/10 в 20:46       Ответить с цитатойцитата 

разобрался всем спасибо всем накатил репу smail54.gif

0
 



С нами с 01.03.06
Сообщения: 629
Рейтинг: 620

Ссылка на сообщениеДобавлено: 18/08/10 в 21:36       Ответить с цитатойцитата 

ну так покажи чтоли - что получилось - если через 1 sql запрос разрешить удалось icon_wink.gif

4
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 19/08/10 в 08:49       Ответить с цитатойцитата 

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

0
 

продаю базы адалт кейвордов

С нами с 09.11.02
Сообщения: 9045
Рейтинг: 3772


Передовик Master-X (16.05.2004) Передовик Master-X (01.06.2004)
Ссылка на сообщениеДобавлено: 19/08/10 в 15:29       Ответить с цитатойцитата 

Код: [развернуть]


вот так, пожалуй...

сдам подпись, стучите в личку

4
 



С нами с 01.03.06
Сообщения: 629
Рейтинг: 620

Ссылка на сообщениеДобавлено: 19/08/10 в 18:04       Ответить с цитатойцитата 

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

4
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 19/08/10 в 20:31       Ответить с цитатойцитата 

Фактически задача сводится к тому, что надо в критериях выбора учитывать результаты предыдущих выбранных рядов, а это задача не для ANSI SQL вообще, он так не умеет. Может, еще получится напрячь мозг и выдать такое из MS SQL 2005 и Oracle через pivot query, но не из MySQL точно.

Если очень хочется что-то такое из базы получить запросом - то можно логику подобную в сторед-процедуры засунуть, благо даже убогий MySQL теперь это поддерживает. Но ТС, видать, решил проблему все равно, так что поздно нам кулаками махать ))

4
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 19/08/10 в 20:56       Ответить с цитатойцитата 

не-не. всегда приятно когда братва подскочила поддержать кулаками icon_biggrin.gif

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »