我有一个MySQL表,用于存储来自用户数据的输入并为每个提交的表单添加一个时间戳。限制MySQL行主要按时间排序然后(可能)按行数
表单通常每天都会提交,但用户可以决定每天执行多个表单。
我必须显示一张图表,显示最近6周的数据,或者,如果6周的数据中没有足够的数据点(40),我必须限制点数(它可以从数据点更早的日期)。
我可以在一个查询中做到这一点,或者我应该依赖一些更复杂的SQL或更糟糕的是我必须依靠我的Python/PHP/C++/... wathever?
回顾:
- 6周最小
- 数据的如果40个数据点不可用在选定的范围内 - >然后取最后40不管时间戳限制。
澄清:
- 如果在时间范围内的元素的数目为60我希望这些60个元素。
- 如果时间范围内元素的数量是30,我想要最后的40个元素。
你需要最多40点,或是否有更多的你要吗? – charly
抱歉,我认为这是明显的。如果40(或更多)点在时间范围内可用,然后获得这些点;否则,如果时间范围<40点,则无论时间限制如何都取最后的40点。 – 2dvisio
仍在挣扎吗?考虑提供一个sqlfiddle – Strawberry