Я недавно пользовался двумя универсальными библиотеками со своей работой.NET - у них обоих есть много различных charttypes, которые включают изменение масштаба и прокрутку, которая Вы после: каждый свободен ( ZedGraph) другой, не ( Dundas).
я счастливо рекомендовал бы им обоим. Dundas лучше - но это не дешево. Название буквы Z является открытым исходным кодом, так может быть довольно информативным, чтобы просто считать код.
Попробуйте использовать это:
select * from table
order by FIELD(Code, 'Health', 'Phone', 'Freeze', 'Hot')
Привет, это запрос SQL Server, но я уверен, что вы можете сделать это и в MySQL:
SELECT ID, Code
FROM x
ORDER BY
CASE Code WHEN 'Health' THEN 1
WHEN 'Phone' THEN 2
WHEN 'Freeze' THEN 4
WHEN 'Hot' THEN 5
ELSE 6 END ASC
, Code ASC
Вы можете присоединиться к ключевым словам таблицу, включите столбец последовательности и ORDER BY Keyword.Sequence.
Пример вашей таблицы ключевых слов выглядит следующим образом:
ID Code Sequence
1 Health 1
2 Freeze 3
3 Phone 2
4 Hot 4
Затем вы можете присоединиться.
SELECT *
FROM MyTable INNER JOIN
Keywords ON Keywords.ID = MyTable.KeywordID
ORDER BY Keywords.Sequence
Надеюсь, это дает вам идею.
Вот ужасный взлом:
select * from table
order by (
case Code
when 'Health' then 0
when 'Phone' then 1
when 'Freeze' then 2
when 'Hot' then 3
end
)
Это всего лишь одноразовый ORDER BY
или что-то, что вы захотите делать часто и с большим количеством значений, чем указано здесь?
Указанный вами порядок является произвольным, поэтому для достижения желаемого необходимо указать идентификатор
SELECT
ID,
Code,
CASE Code
WHEN 'Health' THEN 1
WHEN 'Phone' THEN 2
WHEN 'Freeze' THEN 3
WHEN 'Hot' THEN 4
END As OrderBy
FROM Table
ORDER BY
OrderBy
или
SELECT
ID,
Code
FROM Table
ORDER BY
CASE Code
WHEN 'Health' THEN 1
WHEN 'Phone' THEN 2
WHEN 'Freeze' THEN 3
WHEN 'Hot' THEN 4
END
(я не знаком с MySQL, но приведенное выше будет работать в SQL Server. Синтаксис для MySQL не будет слишком отличаться)
Если вы, вероятно, захотите делать это часто, то создайте столбец OrderBy в таблице или создайте таблицу OrderBy со ссылкой FK на эту таблицу и укажите числовое поле OrderBy в этом.
Параметры пары:
Добавить столбец OrderCode с числовым желаемый порядок
Добавить таблицу с FK к этому идентификатору таблицы и OrderCode
Да, присоедините результаты к вашей кодовой таблице , а затем упорядочите по коду.CodeOrder
РЕДАКТИРОВАТЬ: Объясняя использование кодовой таблицы ...
Создайте отдельную таблицу кодов (CodeId, Code, CodeOrder), присоединитесь к ней и упорядочите по CodeOrder. Это лучше, чем предлагать хакерский прием (case ...), поскольку вы можете легко изменить коды и заказы.