Как я могу упорядочить столбец в таблице, используя SQL (MySQL)? - PullRequest
1 голос
/ 11 августа 2011

У меня есть список, отображенный с помощью Hibernate с индексным столбцом.Таблица выглядит следующим образом:

mysql> select * from chart;
+----+--------+------+-----------------------+
| id | report | indx | name                  |
+----+--------+------+-----------------------+
|  2 |      1 |    0 | Volume                |
|  3 |      2 |    0 | South Africa (Volume) |
|  5 |      2 |    2 | People                |
|  6 |      2 |    3 | Platforms             |
|  7 |      2 |    4 | People (Gender)       |
+----+--------+------+-----------------------+

Как вы можете видеть, диаграмма id = 4 для отчета = 2 с indx = 1 была удалена.

Мне нужно устранить пробелы, чтобы всеЗначения indx для данного отчета выполняются в последовательности от 0. Я мог бы написать код Java, чтобы разобраться в этом, но решение SQL было бы намного проще развернуть.

Кто-нибудь знает, как это сделать?Я использую MySQL.

1 Ответ

2 голосов
/ 11 августа 2011

если этот метод работает на вашей версии MYSQL, вы можете попробовать

 SET @row := -1;
 UPDATE chart
 SET indx = @row := @row + 1
 WHERE report = 2
 ORDER BY indx

но я думаю, что лучше изменить дизайн.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...