我在MYSQL中有如下表:
proj_id|hoursWorked|Date.
Run Code Online (Sandbox Code Playgroud)
日期字段的类型Date; 我想根据基于java的Web应用程序中项目的给定周数检索表中的所有条目.请帮我实现这个目标.
我无法写一个允许我这样做的查询.
千万不能使用类似WHERE WEEK(column)=something-这是一个性能杀手:它会计算所有行的周数,即使它们不匹配.除此之外,它将无法在此列上使用索引.
而是根据您的数据类型计算绝对开始和结束日期或时间点,然后使用BETWEEN.这将不对非匹配行进行计算,并允许使用索引.
经验法则:如果您可以在常量和字段上进行计算,请使用前者.