mysql如何更新排序后的部分数据

mysql如何更新排序后的部分数据,第1张

set @row=0

update test t1,

(select id,name,score,status,@row:=@row+1 rowid

 from test

 order by score desc

 ) t2

 set t1.status=0

 where t1.id=t2.id

 and t2.rowid>100

可以先测试下,我没实际测试,

凭感觉写的

update table_name set title='上等' where exploit in ( select exploit from table_name order by sortid limit 0,10))

update table_name set title='中等' where exploit in ( select exploit from table_name order by sortid limit 11,40))

update table_name set title='低等' where exploit in ( select exploit from table_name order by sortid limit 51,50))

--不是以上三个级别的,你就改为下等好了。

SELECT * FROM table_name AS a ORDER BY a.`产业`,a.`市场份额` DESC

表数据:

海信 冰箱 0.20 1

海信 冷柜 0.20 2

海尔 冰箱 0.19 3

海尔 冷柜 0.19 4

美的 冰箱 0.18 5

美的 冷柜 0.18 6

查询结果:

海信 冰箱 0.20 1

海尔 冰箱 0.19 3

美的 冰箱 0.18 5

海信 冷柜 0.20 2

海尔 冷柜 0.19 4

美的 冷柜 0.18 6

望采纳。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8553734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存