2
我試圖通過刪除所有PHP循環膨脹來縮短我的代碼。我有以下表結構:在每個行的2個時間戳之間生成周字段
tdata_weight
-----
INT id (PK)
VARCHAR Name
DOUBLE Weight
TIMESTAMP StartDate
TIMESTAMP EndDate
我想產生StartDate
和EndDate
之間的所有可能的領域WEEKOFYEAR()
,顯示當前年份和所有可能WEEKOFYEAR()
的的計分Weight
。
所以結果表看起來是這樣的:
tdata_weight_part
-----
VARCHAR Name
DOUBLE WeightPart
INT Year
INT Week
我目前的解決方案包括通過在PHP表循環,但我想這縮短通過一個SQL查詢做最多的工作。 ..如果這是可能的。
編輯:
這裏的數據我:
id: 1
Name: 'Machine1'
Weight: 50000
StartDate: 2015-03-01 00:00:00
EndDate: 2016-04-09 00:00:00
而且我希望把它做成這個表:
Name: 'Machine1'
WeightPart: 862.07
Year: 2015
Week: 9
Name: 'Machine1'
WeightPart: 862.07
Year: 2015
Week: 10
Name: 'Machine1'
WeightPart: 862.07
Year: 2015
Week: 11
(...)
Name: 'Machine1'
WeightPart: 862.07
Year: 2016
Week: 14
我知道,有的差異58WEEKOFYEAR()
之間StartDate
和EndDate
。該StartDate
開始於9周2015年,則EndDate
在結束於14星期。 2015年共有周。
我這樣做,但我得到周的量的兩個日期之間,而不是'了'WEEKOFYEAR'之間的差異StartDate'和'EndDate'。我可以這樣做:'WEEKOFYEAR(EndTermin) - WEEKOFYEAR(StartTermin)',但我只限於一年的差異。 – HitomiTenshi
@HitomiTenshi你能提供一些你想要的例子嗎? –
完成,希望它有幫助 – HitomiTenshi