|
|
|
Хитрая сортировка. Как?
|
|||
|---|---|---|---|
|
#18+
Должно быть всё просто, но плохо знаю язык запросов:( Помогите: Есть таблица с полями: ФИО, приоритет. У некоторых людей одинаковый приоритет. Например: Петров И.А. 5 Зимин В.В. 6 Иванов А.А. 10 Пупкин В.В. 10 Козлов С.С. 12 Нужно сделать так чтобы сначала сортировался список по приоритету (поле приоритет), а потом у тех у кого приоритет одинаков - по алфавиту (поле ФИО) Т.е. select * FROM table ORDER BY проритет - это понятно. А как потом?:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 08:24:34 |
|
||
|
Хитрая сортировка. Как?
|
|||
|---|---|---|---|
|
#18+
DiverTomsk... Т.е. select * FROM table ORDER BY проритет - это понятно. А как потом?:( Код: plaintext http://dev.mysql.com/doc/refman/4.1/en/select.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 09:36:26 |
|
||
|
Хитрая сортировка. Как?
|
|||
|---|---|---|---|
|
#18+
Спасибо! Помогло, но не совсем. Криво сортирует: Баклин Валерий Сергеевич Богданов Евгений Петрович Големгрейн Виктор Владимирович Верхотуров Анатолий Иванович Ройз Шмиль Симхович Игнатович Виктор Михайлович Кляйн Роберт Яковлевич Копылов Юрий Васильевич Попов Виталий Иванович Муравлева Ольга Олеговна Сипайлова Надежда Юрьевна Стукач Владимир Степанович Убиенных Борис Иннокентьевич Жадан Валерий Афонасьевич Цукублин Анатолий Борисович Чесалин Анатолий Дмитриевич ---- Может это странности кодировок? ---- 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 */; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 10:40:46 |
|
||
|
Хитрая сортировка. Как?
|
|||
|---|---|---|---|
|
#18+
>... DEFAULT CHARSET=cp1251 COMMENT='InnoDB free: 11264 kB'; После создания БД в момент выгрузки информации в нее вы уверены, что на клиенте и сервер одна и та же кодировка? ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 10:50:01 |
|
||
|
Хитрая сортировка. Как?
|
|||
|---|---|---|---|
|
#18+
Не понял? База используется для сайта. Т.е. Апач + ПХП + МайСкьюэль:) Как я понимаю сортировка косячится из-за того что Дефаулт чарсет cp1251, а поля в таблице прописаны как latin1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 12:09:07 |
|
||
|
Хитрая сортировка. Как?
|
|||
|---|---|---|---|
|
#18+
>Не понял? Объясняю. поправьте, если я не прав. 1. Вы подключаетесь к БД. Очень часто подключение идет с кодировкой latin1. 2. Вы создаете таблицу CREATE TABLE `teaching_staff` (.... DEFAULT CHARSET=cp1251 3. В этом же соединении вы заливаете содержимое в таблицу из п.2. Обратите внимание, что таблица у вас просит cp1251, а вы ей отдаете latin1. попробуйте задать SET NAMES cp1251 , перед тем, как заливать данные в таблицу. ---------------------------------------- Артисты не приехали, приехали цыгане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 13:04:57 |
|
||
|
Хитрая сортировка. Как?
|
|||
|---|---|---|---|
|
#18+
попробуй Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 14:38:33 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=636&tid=1853176]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
88ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 400ms |

| 0 / 0 |
