2

使用 PDO。

SELECT *
FROM time 
WHERE 
    UserId = :uid AND 
(
    week = :CurrentWeek || 
    week = :PreviousWeek1 || 
    week = :PreviousWeek2 || 
    week = :PreviousWeek3 || 
    week = :PreviousWeek4 || 
    week = :PreviousWeek5 
    ) 
GROUP BY week
ORDER BY week DESC

所以,我试图在这样的表格中打印出过去五周的时间加上当前的时间。

                v1      v2      v3      v4      v5      
    Person 1    40      40      40      40      40      
    Person 2    39      40      39      40      40

问题是,如果例如。v3 不存在,它将 v4 推到 v3 的位置。我正在寻找试图获取所有周值的东西,如果它们不存在,它会返回该列的默认值。

我想以最好的方式解决这个问题。(我当然可以每周循环并逐个获取值,但它必须是一种更有效的方式)

4

1 回答 1

1

除非您愿意在 MySQL 中生成假数据(这恰好根本没有效率),否则您应该获取过去五周的数据,然后在 php 中处理差距(这应该很简单)。这确实是“最好的方式”。

于 2013-10-07T21:47:48.073 回答