powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как выбрать нужное значение при его неуникальности ?
9 сообщений из 9, страница 1 из 1
Как выбрать нужное значение при его неуникальности ?
    #38938209
anstrem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вот такая конструкция:

... SELECT ic.category_id

....
LEFT JOIN ".$table_prefix."items_categories AS ic ON ic.item_id = i.item_id
...



В табличке ic имеем:

id item_id category_id

1 2 123
2 2 222
3 2 656

Судя по результату в запросе отбирается значение category_id из последней удовлетворяющей условию ic.item_id = i.item_id записи.
А как сделать так чтобы отбиралось значение с наименьшим ic.id, т.е. 123 вместо 656 ?
...
Рейтинг: 0 / 0
Как выбрать нужное значение при его неуникальности ?
    #38938215
anstrem,

R.T.F.F.A.Q.
...
Рейтинг: 0 / 0
Как выбрать нужное значение при его неуникальности ?
    #38938236
anstrem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

Я похоже не совсем точно вопрос задал, уточняю:

в таблице поля

item_id category_id
119 73
119 74

Русским языком: некий товар 119 принадлежит категориям 73 и 74

Никакого индексного поля нет.

При отборе category_id по item_id отбирается какая то из строк (понятия не имею какая)
Как сделать так чтобы отбиралась та что первой была добавлена в таблицу MySQL

MySQL же как то при выводе эти строки распределяет в каком то порядке.. значит наверное есть какое то скрытое поле их нумерации или что ?
...
Рейтинг: 0 / 0
Как выбрать нужное значение при его неуникальности ?
    #38938237
anstrem,

таблица - куча. порядка в ней нет, как нет и поля определяющего очередность вставки. если, конечно, ты сам об этом не побеспокоился заранее.
...
Рейтинг: 0 / 0
Как выбрать нужное значение при его неуникальности ?
    #38938238
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anstremНикакого индексного поля нет.

При отборе category_id по item_id отбирается какая то из строк (понятия не имею какая)
Как сделать так чтобы отбиралась та что первой была добавлена в таблицу MySQL


Никак. Нужно поле "Дата добавления", или поле порядка, чтобы определить, какая была первой.
...
Рейтинг: 0 / 0
Как выбрать нужное значение при его неуникальности ?
    #38938300
anstrem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PallarisanstremНикакого индексного поля нет.

При отборе category_id по item_id отбирается какая то из строк (понятия не имею какая)
Как сделать так чтобы отбиралась та что первой была добавлена в таблицу MySQL


Никак. Нужно поле "Дата добавления", или поле порядка, чтобы определить, какая была первой.

Странно что значит никак и таблица куча.
Когда захожу в MySQL записи отображаются все время в одном и том же порядке, а не прыгают произвольно по страницам.
При этом они не отсортированы ни по одному полю, но тем не менее всегда идут в одном порядке.
Предполагаю с уверенностью 100% что подряд несколько SELECT-ов всех записей по данной таблице тоже будут тождественны.

Так вот как MySQL определяет что эту запись надо в выводе расположить выше, а эту ниже ?
...
Рейтинг: 0 / 0
Как выбрать нужное значение при его неуникальности ?
    #38938334
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anstremТак вот как MySQL определяет что эту запись надо в выводе расположить выше, а эту ниже ?Никак не определяет. Как прочитает из файла, так и выведет.
И порядок в любой момент может измениться. Например, JOIN-ом. Или если выбирать не все поля, а только некоторые, которые попадают в какой-нибудь индекс - тогда может быть (а может и не быть, это как оптимизатор решит) порядок по индексу.
...
Рейтинг: 0 / 0
Как выбрать нужное значение при его неуникальности ?
    #38938737
anstrem,

Ну ты чего такой трудный? Тебе же сказали: в общем случае таблица - куча. Причем в прямом смысле этого слова.
Чтобы понятнее было, представь себе шкаф с вещами. Вот это будет более-менее упорядоченная структура, и вещи в ней будут как-то систематезированы - трусы на одной полке, футболки на другой, брюки на третьей. Платья и куртки так вообще будут висеть на вешалке.

А теперь представь, что всё содержимое шкафа тупо вывалили на пол. Вот это и будет "куча". И данные в таблице в общем случае так и храняться - в хаотическом "порядке".


Теперь по поводу "Когда захожу в MySQL записи отображаются все время в одном и том же порядке, а не прыгают произвольно по страницам". Так если кучу руками не трогать, и постоянно заходить к ней с одной и тойже стороны - то она будет выглядеть всегда одинаково, создавая ощущение "порядка". Но глядя на эту кучу можешь ли ты с уверенностью сказать, что из шкафа выпало раньше, а что позже? В каком порядке скидывались на пол вещи: сначала трусы, потом брюки, или наоборот? А трусы вначале синии падали или красные? А может вообще - желтые? А теперь попробуй посмотреть на кучу с другого бока? Или извлечь из кучи только трусы. Или только брюки. Порядок в куче с брюками будет всё такой же как в исходной куче?

Вот и с таблицей также. Лежат в ней данные кучей и если всегда зхаходить одним и тем же запросом (с одного и того же бока), то и куча выглядит как бы "одинаково". Но никакого порядка в этом нет и всё может измениться, если оптимизатор решит заходить к куче с другой стороны. Но о б этом тебе выше уже написали...
...
Рейтинг: 0 / 0
Как выбрать нужное значение при его неуникальности ?
    #38938758
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anstrem,

При отборе category_id по item_id отбирается какая то из строк (понятия не имею какая)
Как сделать так чтобы отбиралась та что первой была добавлена в таблицу MySQL


в твоем случае на самом деле должны выводится обе категории, а не одна.

нам будет легче, если ты приведешь описания всех таблиц полностью, запрос полностью, и всё что он выводит.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как выбрать нужное значение при его неуникальности ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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