Приложение с назначенным доступом UWP не открывается на некоторых (не всех) устройствах Windows 10

вы можете выбрать такие идентификаторы:

set @rank = 0;
select id, @rank:=@rank+1 from tbl order by id

, результатом будет список идентификаторов и их позиции в последовательности.

вы также можете сбросить идентификаторы, такие как поэтому:

set @rank = 0;
update tbl a join (select id, @rank:=@rank+1 as rank from tbl order by id) b
  on a.id = b.id set a.id = b.rank;

вы также можете просто распечатать первый неиспользуемый id следующим образом:

select min(id) as next_id from ((select a.id from (select 1 as id) a
  left join tbl b on a.id = b.id where b.id is null) union
  (select min(a.id) + 1 as id from tbl a left join tbl b on a.id+1 = b.id
  where b.id is null)) c;

после каждой вставки вы можете сбросить auto_increment:

alter table tbl auto_increment = 16

или явно установить значение id при выполнении вставки:

insert into tbl values (16, 'something');

, как правило, это необязательно, у вас есть count(*) и возможность создания номера ранжирования в ваших наборах результатов , типичным ранжированием может быть:

set @rank = 0;
select a.name, a.amount, b.rank from cust a,
  (select amount, @rank:=@rank+1 as rank from cust order by amount desc) b
  where a.amount = b.amount

клиентов, оцененных по затраченной сумме.

-1
задан Jono Nelson 13 July 2018 в 22:17
поделиться