powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Хитрая сортировка. Как?
8 сообщений из 8, страница 1 из 1
Хитрая сортировка. Как?
    #33480385
DiverTomsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Должно быть всё просто, но плохо знаю язык запросов:( Помогите:
Есть таблица с полями: ФИО, приоритет.
У некоторых людей одинаковый приоритет.
Например:
Петров И.А. 5
Зимин В.В. 6
Иванов А.А. 10
Пупкин В.В. 10
Козлов С.С. 12
Нужно сделать так чтобы сначала сортировался список по приоритету (поле приоритет), а потом у тех у кого приоритет одинаков - по алфавиту (поле ФИО)
Т.е. select * FROM table ORDER BY проритет - это понятно. А как потом?:(
...
Рейтинг: 0 / 0
Хитрая сортировка. Как?
    #33480476
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DiverTomsk... Т.е. select * FROM table ORDER BY проритет - это понятно. А как потом?:(
Код: plaintext
SELECT * FROM table ORDER BY приоритет, ФИО
?
http://dev.mysql.com/doc/refman/4.1/en/select.html
...
Рейтинг: 0 / 0
Хитрая сортировка. Как?
    #33480648
DiverTomsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Помогло, но не совсем. Криво сортирует:
Баклин Валерий Сергеевич
Богданов Евгений Петрович
Големгрейн Виктор Владимирович
Верхотуров Анатолий Иванович
Ройз Шмиль Симхович
Игнатович Виктор Михайлович
Кляйн Роберт Яковлевич
Копылов Юрий Васильевич
Попов Виталий Иванович
Муравлева Ольга Олеговна
Сипайлова Надежда Юрьевна
Стукач Владимир Степанович
Убиенных Борис Иннокентьевич
Жадан Валерий Афонасьевич
Цукублин Анатолий Борисович
Чесалин Анатолий Дмитриевич
----
Может это странности кодировок?
----
P.S.:
MySQL - 4.1.10.
Таблица:
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

--
-- Table structure for table `teaching_staff`
--

DROP TABLE IF EXISTS `teaching_staff`;
CREATE TABLE `teaching_staff` (
`department` varchar(50) character set latin1 NOT NULL default '',
`name` varchar(200) character set latin1 NOT NULL default '',
`established_post` varchar(255) character set latin1 default NULL,
`office_tel` varchar(50) character set latin1 default NULL,
`fax` varchar(200) character set latin1 default NULL,
`priority` int(10) unsigned NOT NULL default '0',
`id` int(11) NOT NULL auto_increment,
UNIQUE KEY `id` (`id`),
FULLTEXT KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COMMENT='InnoDB free: 11264 kB';

ТУТ ИДУТ ДАННЫЕ

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
...
Рейтинг: 0 / 0
Хитрая сортировка. Как?
    #33480687
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>... DEFAULT CHARSET=cp1251 COMMENT='InnoDB free: 11264 kB';
После создания БД в момент выгрузки информации в нее вы уверены, что на клиенте и сервер одна и та же кодировка?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Хитрая сортировка. Как?
    #33481021
DiverTomsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял?
База используется для сайта. Т.е. Апач + ПХП + МайСкьюэль:) Как я понимаю сортировка косячится из-за того что Дефаулт чарсет cp1251, а поля в таблице прописаны как latin1?
...
Рейтинг: 0 / 0
Хитрая сортировка. Как?
    #33481296
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Не понял?
Объясняю. поправьте, если я не прав.
1. Вы подключаетесь к БД. Очень часто подключение идет с кодировкой latin1.
2. Вы создаете таблицу CREATE TABLE `teaching_staff` (.... DEFAULT CHARSET=cp1251
3. В этом же соединении вы заливаете содержимое в таблицу из п.2.

Обратите внимание, что таблица у вас просит cp1251, а вы ей отдаете latin1.

попробуйте задать SET NAMES cp1251 , перед тем, как заливать данные в таблицу.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Хитрая сортировка. Как?
    #33481632
JASterus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй
Код: plaintext
ORDER BINARY приоритет, ФИО
...
Рейтинг: 0 / 0
Хитрая сортировка. Как?
    #33481639
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ORDER BINARY приоритет, ФИО
Это - костыль.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Хитрая сортировка. Как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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