MySQL 4.1->вложенный запрос->bugs

Найч

Алгоритмик :-)
MySQL 4.1->вложенный запрос->bugs

Здравтвуйте! В сабже напоролся на такой баг. Таблица (индексы и прочее не важно)
Код:
CREATE TABLE customers (
  serial int(11)  DEFAULT '' NOT NULL auto_increment,
  CustID int(11)    ,
  Touched datetime    ,
  PRIMARY KEY (serial),
  UNIQUE serial (serial),
  KEY serial_2 (serial)
);

INSERT  INTO customers  VALUES('1','1','2003-12-15 20:32:24');
INSERT  INTO customers  VALUES('2','1','2003-12-15 20:33:00');
INSERT  INTO customers  VALUES('3','1','2003-12-15 20:33:05');
INSERT  INTO customers  VALUES('4','2','2003-12-15 20:33:11');
INSERT  INTO customers  VALUES('5','2','2003-12-15 20:33:18');
Теперь задача. Выбрать только записи с максимальной датой и сгруппированые по CustID. Решается тривиально, например, при помощи временной таблицы. НО! Необходимо записать одним запросом. Пишем составной запрос
select * from customers where Touched in (select MAX(Touched) from customers group by CustID);
Написанно согласно документации
;) Вложенный запрос возвращает нужные значения, а вот составной - пустое множество! При чем такое наблюдается только с датами - с выборкой по другим типам отрабатывается корректно. Кто-нибудь сталкивался с подобным? Может, есть способ обойти эту неприятность?
Заранне спасибо
 

Demiurg

Guest
ветка 4.1 пока находится в состоянии alpha.
Напиши об этом в баг репорт.
 

ONK

Пассивист PHPСluba
Офф... Индексы у тя жутко умные, может расскажеш зачем каждый из них нужен? ;)
 

fixxxer

К.О.
Партнер клуба
Индексы действительно интересные. Моих мозгов явно не хватает понять, зачем нужна такая структура.
 

Найч

Алгоритмик :-)
2 si. Спасибо. Учту. Но на самом же сайте MySQL предлагают использовать эту версию для новых разработок. К тому же я думаю, что не ошибся местом. Я почитал ваш форум и пришел к выводу, что мне есть чему поучиться у здешних ребят, да и спрашивал я про возможность обойти неприятность с сабжем
2 ONK На самом деле я сделал дамп и вырезал кусочек, уделяя внимание только важным моментам. Табличка несколько побольше и не одна в этом хаосе))
2 fixxxer - послушай, а твоих мозгов хватит предположить, что это небольшая вырезанная часть дампа? И если такие индексы, то для чего-то они нужны. Немного вежливей отвечай, если можно.
 

si

Administrator
2 si. Спасибо. Учту. Но на самом же сайте MySQL предлагают использовать эту версию для новых разработок. К тому же я думаю, что не ошибся местом. Я почитал ваш форум и пришел к выводу, что мне есть чему поучиться у здешних ребят, да и спрашивал я про возможность обойти неприятность с сабжем
если у вас не заводится авто, это можно обойти воспользовавшись троллейбусом.

а о баuах надо обязательно сообщать а не обходить их, и делать это надо в правильном месте. тут разработчики mysql пока не тусуются.
2 fixxxer - послушай, а твоих мозгов хватит предположить, что это небольшая вырезанная часть дампа? И если такие индексы, то для чего-то они нужны. Немного вежливей отвечай, если можно.
такие индексы не могут быть нужны.
 

Demiurg

Guest
>2 fixxxer - послушай, а твоих мозгов хватит предположить, что
>это небольшая вырезанная часть дампа? И если такие
>индексы, то для чего-то они нужны. Немного вежливей
>отвечай, если можно.

мне тоже не хватает мозгов, можно все же ответ услышать ?
 

ONK

Пассивист PHPСluba
Demiurg, как я и предпологал, мы услышали версию что мы ничего не знаем и не понимаем всей продуманности таблицы, кусок которой на продемонстрировали ;)

Может мускул как раз от этих индексов и глючит (не может выбрать наиболее подходящий) ;-)
 

Апельсин

Оранжевое создание
ты какую версию MySQL используешь?
у меня на 4.1.1 все работает замечательно.
 

Найч

Алгоритмик :-)
НАРОД! Я ни в коей мере не имел ввиду, что "вы ничего не знаете" и все такое прочее. Я считаю, что такая комбинация индексов мне полезна. Если вы покажете несостоятельность сего действа, буде только благодарен вам.
2 Апельсин Что-то в этом есть... У меня 4.1.0... К сожалению, этот баг (и отсутствие триггеров и функций)вынудил меня перейти на MSSQL, и часть работы уже проделана в новом направлении. Спасибо за помощь
2 si Вот и пришлось пересесть на троллейбус((
 

Найч

Алгоритмик :-)
Тоже распишусь в своем невежестве - а зачем нужны 3 таких индекса в этом случае?
Повторюсь - для этого случая не важно)) Все же хотелось бы услышать обоснование ненужности этой комбинации :)
 

Demiurg

Guest
Когда человек что то делает, то это ему для чего то нужно. Хотя бы для себя он обосновывает свои действия. Для нас конечно можно ничего не обосновывать, скажи просто, что тебе так нравится. И мы останимся в глубоком неведении и тяжкой задумчивости.
 

Найч

Алгоритмик :-)
2 Demiurg Философ, однако)) (простите за флуд - неудержался)
 

ONK

Пассивист PHPСluba
Нет, мы не узнаем, зачем нужны 3 разных индекса по одному столбцу. ;( Причём 1-й делает последующие бессмысленными.
 

Найч

Алгоритмик :-)
Спасибо вам всем большое. По ходу все же я выяснил ответы на мои вопросы. А чтоб вас не мучили догадки по поводу тех индексов - назовем это привычкой)) Еще раз благодарю за уделенное внимание
 

si

Administrator
Спасибо вам всем большое. По ходу все же я выяснил ответы на мои вопросы. А чтоб вас не мучили догадки по поводу тех индексов - назовем это привычкой)) Еще раз благодарю за уделенное внимание
клинический случай
 

ONK

Пассивист PHPСluba
Привычка в phpmyadmin нажимать на все 3 кнопочки создающие индексы ;)
 
Сверху