2013-08-24 24 views
0

我想通過將結果數量潛入7來將MySQL查詢的結果分成組,以便我可以在每個部分上運行查詢組。將MySQL SELECT全部劃分爲7個結果的部分,並在每個部分上運行新的查詢

我有一個表格,有一段時間內用戶輸入的條目。我打算計算這段時間有多少天,除以7,所以我有幾周的時間,然後每週運行一次查詢。例如,在第1周,第2周等輸入了多少特定值。

每次都會有所不同。

+0

您可以限制使用限制7的結果;限制7,8;等等,或者你可以使用一個分組聲明,但沒有更多的信息,我不能幫你。提示使用模數運算符%來計算限制數字。 –

+0

一切皆有可能。 – Strawberry

+0

不知道你想達到什麼,一個有意義的答案是不可能的。你想要用7組來做什麼?爲什麼是7而不是8?這可能僅在sql中可以實現,具體取決於您所尋求的內容,但基於所提供的最少信息,到目前爲止最好的方法是提取您的第一個查詢結果,然後處理PHP中的分塊和附加邏輯。 –

回答

0

一種方法是爲每行分配一個行號,計算最大行數,然後將其除以7,併爲每行分配一個組號(從1到7)。
然後將查詢的結果保存到臨時表,查詢該表所需的羣號:

CREATE TEMPORARY TABLE results AS 
SELECT ceil(rn/( @rn/7)) group_nbr, 
     x.* 
FROM ( 
    select (@rn:[email protected]+1) rn, abc.* 
    from table_name abc, (select @rn:=0) rn 
) x; 


SELECT * 
FROM results 
WHERE group_nbr = 4; 

SQLFiddle demo

相關問題