Mysql 根据结果集中的结果编号更新行

Mysql 根据结果集中的结果编号更新行,mysql,Mysql,我希望做到以下几点: tblOne: -page_id -split tblMany -view_id -page_id 我想按tblMany中相关页面id的编号订购tblOne 然后将tblOne中的行数除以5,并将tblOne.split更新为一个介于1到5之间的数字,将其拆分为。。。e、 g如果有50行。。。第0-9行分为1行,第10-19行分为2行…等等 我相信我能做“计数”部分。。。但我不知道如何更新“拆分”行。此查询将按页面id计数的后代顺序为您提供不同的页面id及其计数(因

我希望做到以下几点:

tblOne:
-page_id
-split



tblMany
-view_id
-page_id
我想按tblMany中相关页面id的编号订购tblOne

然后将tblOne中的行数除以5,并将tblOne.split更新为一个介于1到5之间的数字,将其拆分为。。。e、 g如果有50行。。。第0-9行分为1行,第10-19行分为2行…等等


我相信我能做“计数”部分。。。但我不知道如何更新“拆分”行。此查询将按页面id计数的后代顺序为您提供不同的页面id及其计数(因此,首先是最大计数):

所以对于像这样的tblMany:

view_id | page_id
--------+---------
  1         1
  2         1
  3         2
  4         2
  5         2
  6         3
你会得到

 page_id | count(1)
 --------+---------
    2        3
    1        2
    3        1

此查询将为您提供不同的页面id及其计数,按子代顺序按页面id计数排序(因此最大计数优先):

所以对于像这样的tblMany:

view_id | page_id
--------+---------
  1         1
  2         1
  3         2
  4         2
  5         2
  6         3
你会得到

 page_id | count(1)
 --------+---------
    2        3
    1        2
    3        1

你能把你的问题重新措辞一下吗?好的。。。我问了一个较短的问题(我想我无法理解的那一点)。如何对结果集进行排序(按任何方式),然后更新前10行,使其在拆分列中为“1”,下10行为“2”,下10行为“3”…将主键中的页面id设置为etcIs(即tblOne中是否有重复的页面id?)是。。。页面id是TBONE中的主id。。。视图id是tblMany中的主键。您的所有页面id是否也在tblMany中?如果不是的话,当他们不喜欢tblMany时,你的tblOne订单会发生什么?你能稍微重新表述一下你的问题吗?好的。。。我问了一个较短的问题(我想我无法理解的那一点)。如何对结果集进行排序(按任何方式),然后更新前10行,使其在拆分列中为“1”,下10行为“2”,下10行为“3”…将主键中的页面id设置为etcIs(即tblOne中是否有重复的页面id?)是。。。页面id是TBONE中的主id。。。视图id是tblMany中的主键。您的所有页面id是否也在tblMany中?如果不是的话,当他们不喜欢tblMany的时候,你的tblOne订单会发生什么?那部分会很好的处理。。。我想我可以使用PHP来获取num_行。将其除以5,然后使用limit获得结果集的块。。。然后根据结果集中的行块更新结果集中的每一行,该部分将进行处理。。。我想我可以使用PHP来获取num_行。将其除以5,然后使用limit获得结果集的块。。。然后根据其区块更新结果集中的每一行