2010-02-26 64 views
1

我期待做到以下幾點:更新行根據導致的結果數設置

tblOne: 
-page_id 
-split 



tblMany 
-view_id 
-page_id 

我想在tblMany相關PAGE_ID數量訂購tblOne。

然後將tblOne中的行數除以5,並將tblOne.split更新爲1 - 5之間的數字,並將其分割成若干行,例如,如果有50行...行0 - 9分割爲1 ,10 - 19分爲2 ...等

我相信我能做到「計數」的一部分......但沒有帶一個線索我怎麼會更新「分裂」行

+0

你能改一下你的問題痘痘位? – Patrick 2010-02-26 10:52:41

+0

好的......我問了一個較短的問題(我不認爲我能弄清楚的那一點)。如何命令一個結果集(任何東西),然後更新前10行在分隔列中具有'1',接下來的10個具有'2',接下來的10'3'... etc – Mark 2010-02-26 11:05:14

+0

page_id in tblOne你的主鍵(即tblOne中是否有任何重複的page_id?) – Patrick 2010-02-26 11:36:42

回答

1

這個查詢給你不同的頁面ID及其計數由後代爲了PAGE_ID數排序(所以最大計數在前):

SELECT page_id, count(1) 
FROM tblMany 
GROUP BY 1 
ORDER BY 2 DESC 

因此,對於這樣的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 
+0

這部分工程治療...我想我可以使用PHP來獲得num_rows。除以5,然後使用限制來獲得結果集的塊...然後根據它們的塊 – Mark 2010-02-26 11:31:58

+0

來更新結果集中的每個行(如果這是有意義的:p) – Mark 2010-02-26 11:40:13