使用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的位置。我正在寻找试图获取所有周值的东西,如果它们不存在,它将返回该列的默认值。
我想以最好的方式解决这个问题。 (我当然可以为每周制作一个循环并逐个获取值,但它必须是一种更有效的方式)
答案 0 :(得分:1)
除非你愿意generate fake data in MySQL(根本没有效率),你应该从过去五周获得数据,然后在php中处理差距(应该很简单)。这确实是“最好的方式”。