Это наилучшее решение , которое я нашел до сих пор.
Предположим, что у нас есть пакет с именем org.mypackage
, содержащий классы:
и файлы, определяющие этот пакет, хранятся физически в каталоге D:\myprogram
(в Windows ) или /home/user/myprogram
(в Linux).
Структура файла будет выглядеть так:
Когда мы вызываем Java, мы указываем имя приложение для запуска: org.mypackage.HelloWorld
. Однако мы также должны сказать Java, где искать файлы и каталоги, определяющие наш пакет. Поэтому, чтобы запустить программу, мы должны использовать следующую команду:
Вы можете попробовать ниже - используя самостоятельное соединение
update tablename t
join
(select b.id,b.groupname,count(b.id) as val from t1 a
join t1 b on a.groupname=b.groupname
and a.id<=b.id
group by b.id,b.groupname
)d on t.id=d.id
set value=val
ИЛИ
вы можете использовать [ 112] функция, если ваша версия mysql 8.0+
update tablename t
join
(
select *, row_number() over(partition by groupname order by id) as rn from t1
)d on t.id=d.id
set value=rn
В старых версиях MySQL переменные являются самым простым методом:
set @rn := 0;
set @grp := '';
update t
set value = (@rn := if(@grp = t.group, @rn + 1,
if(@grp := t.group, 1, 1)
)
)
order by group, id;
В MySQL 8.0 используйте второй запрос fa06.
Пожалуйста, попробуйте это, я надеюсь, что это полезно для вас
Update A
set value = _val
from @tblName As A
INNER JOIN (
SELECT id,Row_NUMBER() over(partition by [group] order by id) as _val from @tblName
)As B ON A.id = B.id