Значение приращения поля сортировки mysql с дополнительной группировкой

Загрузите «json simple 1.1 jar» из этого https://code.google.com/p/json-simple/downloads/detail?name=json_simple-1.1.jar&can=2&q=

И добавьте файл jar в вашу папку lib

с помощью JSONValue, вы можете преобразовать LinkedHashMap в json string

для получения дополнительной информации нажмите здесь http://androiddhina.blogspot.in/2015/09/ordered-json-string-in-android.html

1
задан Colin M 17 January 2019 в 07:34
поделиться

1 ответ

На этом сайте есть множество ответов, касающихся моделирования номеров строк, и вот еще один, который используется в многостоловом обновлении.

drop table if exists t;
create table t
(id  int ,   user varchar(20) ,  type varchar(20) ,  name varchar(20),   sort_order int);
insert into t values
(152070 , 'cust'  ,  'forex' ,  '^EURUSD' ,3),
(374143 , 'cust'  ,  'forex' ,  '^EURGBP' ,3),
(376218 , 'cust'  ,  'stock' ,  'IBM'     ,3),
(376219 , 'cust'  ,  'stock' ,  'FB'      ,3),
(376219 , 'cust'  ,  'stock' ,  'AMZN'    ,3),
(374676 , 'degr'  ,  'forex' ,  '^BTCUSD' ,3),
(376217 , 'degr'  ,  'forex' ,  '^AUDJPY' ,3),
(376220 , 'degr'  ,  'stock' ,  'C'       ,3),
(376221 , 'degr'  ,  'stock' ,  'AMZN'    ,3);

update t join
(select t.*,
        if(concat(user,type) <> @p, @rn:=1,@rn:=@rn+1) rownumber,
        @p:= concat(user,type) p
from t
cross join (select @rn:=0,@p:='') r
order by user,type,id) s
on s.id = t.id
set t.sort_order = s.rownumber
;
select * from t;

--------+------+-------+---------+------------+
| id     | user | type  | name    | sort_order |
+--------+------+-------+---------+------------+
| 152070 | cust | forex | ^EURUSD |          1 |
| 374143 | cust | forex | ^EURGBP |          2 |
| 376218 | cust | stock | IBM     |          1 |
| 376219 | cust | stock | FB      |          3 |
| 376219 | cust | stock | AMZN    |          3 |
| 374676 | degr | forex | ^BTCUSD |          1 |
| 376217 | degr | forex | ^AUDJPY |          2 |
| 376220 | degr | stock | C       |          1 |
| 376221 | degr | stock | AMZN    |          2 |
+--------+------+-------+---------+------------+
0
ответ дан P.Salmon 17 January 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: