Mysql-запрос для сортировки записей в последовательности для каждой итерации?

0

У меня есть структура таблицы следующим образом: Number, Seq и Code Я хочу сделать Seq в порядке, таком как последовательность 1.2.3..4 для каждого Number это то же самое, это изменение последовательности для каждого изменения в Number.. следующий Seq start from 1.2... to max..like в желаемом выходе.. Как это сделать? любая помощь будет оценена. Спасибо заранее..

CREATE TABLE 'unsorted' (
  'id' int(11) NOT NULL auto_increment,
  'Number' int(5) default NULL,
  'Seq' int(3) default NULL,
  'Code' varchar(6) default NULL,
  PRIMARY KEY  ('id')
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;

--
-- Dumping data for table 'unsorted'
--

INSERT INTO 'unsorted' ('id', 'Number', 'Seq', 'Code') VALUES
(1, 107, 3, 'KRMI'),
(2, 107, 4, 'MAO'),
(3, 107, 1, 'SWV'),
(4, 107, 2, 'THVM'),
(5, 108, 2, 'KRMI'),
(6, 108, 1, 'MAO'),
(7, 108, 4, 'SWV'),
(8, 108, 3, 'THVM'),
(9, 401, 1, 'AWB'),
(10, 401, 9, 'AY'),
(11, 401, 8, 'BBK'),
(12, 401, 12, 'BSB'),
(13, 401, 3, 'BSL'),
(14, 401, 6, 'CNB'),
(15, 401, 5, 'JHS'),
(16, 401, 11, 'JNU'),
(17, 401, 4, 'KNW'),
(18, 401, 7, 'LKO'),
(19, 401, 2, 'MMR'),
(20, 401, 10, 'SHG'),
(21, 421, 4, 'BE'),
(22, 421, 2, 'FGR'),
(23, 421, 3, 'KSJ'),
(24, 421, 1, 'LKO'),
(25, 421, 5, 'SVDK'),
(26, 422, 2, 'BE'),
(27, 422, 4, 'FGR'),
(28, 422, 3, 'KSJ'),
(29, 422, 5, 'LKO'),
(30, 422, 1, 'SVDK');

Желаемый результат:

CREATE TABLE 'sorted' (
  'id' int(11) NOT NULL auto_increment,
  'Number' int(5) default NULL,
  'Seq' int(3) default NULL,
  'Code' varchar(6) default NULL,
  PRIMARY KEY  ('id')
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;

--
-- Dumping data for table 'sorted'
--

INSERT INTO 'sorted' ('id', 'Number', 'Seq', 'Code') VALUES
(1, 107, 1, 'SWV'),
(2, 107, 2, 'THVM'),
(3, 107, 3, 'KRMI'),
(4, 107, 4, 'MAO'),
(5, 108, 1, 'MAO'),
(6, 108, 2, 'KRMI'),
(7, 108, 3, 'THVM'),
(8, 108, 4, 'SWV'),
(9, 401, 1, 'AWB'),
(10, 401, 2, 'MMR'),
(11, 401, 3, 'BSL'),
(12, 401, 4, 'KNW'),
(13, 401, 5, 'JHS'),
(14, 401, 6, 'CNB'),
(15, 401, 7, 'LKO'),
(16, 401, 8, 'BBK'),
(17, 401, 9, 'AY'),
(18, 401, 10, 'SHG'),
(19, 401, 11, 'JNU'),
(20, 401, 12, 'BSB'),
(21, 421, 1, 'LKO'),
(22, 421, 2, 'FGR'),
(23, 421, 3, 'KSJ'),
(24, 421, 4, 'BE'),
(25, 421, 5, 'SVDK'),
(26, 422, 1, 'SVDK'),
(27, 422, 2, 'BE'),
(28, 422, 3, 'KSJ'),
(29, 422, 4, 'FGR'),
(30, 422, 5, 'LKO');
Теги:
sorting

1 ответ

0
Лучший ответ

Вы можете попробовать что-то вроде:

SELECT * From table Order by Number, Seq Asc
  • 0
    да .. работает .. спасибо :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню