此刻我有这样的事情......
SELECT SUM(a.PaidSingle) AS PaidSingle,
DATE_FORMAT(a.TimeIn, '%a') AS weekDay
FROM Attendance AS a JOIN MemberDetail AS m ON m.id = a.MemberID
WHERE m.CardNumber = '$cardNo'
AND WEEK(a.TimeIn, 0) = WEEK(NOW(),0)
GROUP BY weekDay
ORDER BY a.TimeIn
但是在写完这篇文章之后我才明白这将会影响前几年和今年。
我想简单地说,年份=今年,但当然是在12月开始的一周到1月结束,我将只有半个星期。
在MySQL中执行此操作的最佳方法是什么?我应该使用基于PHP的解决方案吗?
答案 0 :(得分:3)
你正在使用WEEK模式= 0,它返回0-53周数 - 这会导致新年周围出现问题,其中一周是部分时间 可能是'YYYY53',其余的'YYYZ00',如果你愿意的话。
如果您可以使用与DATE_FORMAT%V和%X选项兼容的模式2:
DATE_FORMAT( NOW( ), "%X%V" )
这些仅使用1-53的周数,因此可以在YYYZ年份获得YYYY53周活动。
我不敢满足你对好的要求!
答案 1 :(得分:0)