Результаты запроса будут возвращены в недетерминированном порядке, если вы не укажете предложение ORDER BY
.
Если вы действительно хотите выполнить запрос так, как вы запрашиваете, то вы можете создать такое предложение.Вот пример использования части ваших данных.
create table artists (
id integer not null primary key,
name char(1) not null);
insert into artists
values
(8, 'a'),
(1, 'b'),
(2, 'c'),
(15, 'd'),
(14, 'e'),
(3, 'f'),
(13, 'g');
select *
from artists
where id in (8, 1, 2, 15, 14, 3, 13)
order by
id = 8 desc,
id = 1 desc,
id = 2 desc,
id = 15 desc,
id = 14 desc,
id = 3 desc,
id = 13 desc;
Исходя из этого и вашего другого вопроса, я думаю, что с вашей моделью или тем, как вы пытаетесь это сделать, что-то не так.Возможно, вам следует опубликовать более общий вопрос о том, как делать то, что вы пытаетесь сделать.
Если у вас есть артисты и рейтинговые таблицы, вы сможете сделать что-то подобное (или эквивалент через ORM).
select
a.*
from
artists a,
rankings r
where
a.id = r.artist_id
order by
r.score desc;