Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Двойная сортировка представления
 
 автор: Eugene77   (27.07.2009 в 08:38)   письмо автору
 
 

CREATE VIEW sent  AS 
SELECT * FROM sentences
ORDER BY `id`, `merge`


Когда я просматриваю такое представление в PMA, то
вижу отсортированным по id, но не по `merge`.
Более того, SHOW CREATE TABLE
показывает только один столбец для сортировки.

Это только у меня так?
Или не так писать надо?

  Ответить  
 
 автор: ride   (27.07.2009 в 09:30)   письмо автору
 
   для: Eugene77   (27.07.2009 в 08:38)
 

в данном случае по полю merge сортировку вы увидите только в случае одинаковых id.
если у вас id - уникальное, то по merge сортировки вы не увидите.

  Ответить  
 
 автор: Eugene77   (27.07.2009 в 10:27)   письмо автору
 
   для: ride   (27.07.2009 в 09:30)
 

id - у меня не уникальное поле. И не primary.
Уникальный индекс включает id, merge и ещё одно поле.
Как мне сделать чтобы по merge тоже сортировка шла?

  Ответить  
 
 автор: Trianon   (27.07.2009 в 10:28)   письмо автору
 
   для: Eugene77   (27.07.2009 в 10:27)
 

Можно поинтересоваться, кто Вам вообще эту сортировку пообещал?
Я имею в виду пункт мануала, который бы детерминировал такое поведение представления.

  Ответить  
 
 автор: а-я   (27.07.2009 в 10:55)   письмо автору
 
   для: Eugene77   (27.07.2009 в 10:27)
 

а merge у вас случайно не текстовое поле? хоть примеры покажите, то неправильно у вас сортирует и как вам надо

  Ответить  
 
 автор: Eugene77   (27.07.2009 в 11:55)   письмо автору
 
   для: а-я   (27.07.2009 в 10:55)
 

CREATE TABLE `sentences` (
 `num` bigint(20) unsigned NOT NULL auto_increment,
 `file` varchar(80) NOT NULL ,
 `en_id` int(4) unsigned NOT NULL default '0' ,
 `ru_id` int(4) unsigned NOT NULL default '0' ,
 `en` text NOT NULL ,
 `ru` text NOT NULL,
 `confidence` float NOT NULL default '0',
 `doubted` enum('yes','no') NOT NULL default 'no' ,
 `manually_set` enum('yes','no') NOT NULL default 'no' ,
 `ru_en_update` timestamp NOT NULL default '0000-00-00 00:00:00',
 `combined` tinytext NOT NULL ,
 `combined_update` timestamp NOT NULL default '0000-00-00 00:00:00' ,
 `last_update` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP ,
 `merge` tinyint(3) unsigned NOT NULL default '1' ,
 PRIMARY KEY  (`num`),
 UNIQUE KEY `file` (`file`,`en_id`,`merge`)
) ENGINE=MyISAM AUTO_INCREMENT=7181 DEFAULT CHARSET=cp1251 


Это сокращённая таблица.

To Trianon:
В мануале такого не встречал. Просто на практике с обычными таблицами работает
To Ronan:
PMA сам по себе не задаёт никакого условия сортировки.
Я через него смотрю.
Это вообще, представление созданное для отладки скрипта,
от него быстродействия не требуется. Может, подскажете как переписать чтоб сортировало по обоим полям?

  Ответить  
 
 автор: ride   (27.07.2009 в 11:39)   письмо автору
 
   для: Eugene77   (27.07.2009 в 10:27)
 

тогда вот еще...
сортировка будет работать только в случае отсутствия во внешнем SELECT собственного условия сортировки

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования