周数据会有weekbegin和weekend两个字段,用来描述周的开始日期和结束日期。

现在项目中的日历控件不支持周查询,只支持日期查询,所以目前面临的问题是,根据时间范围,查询周。

最终sql如下:

select uid,weekbegin,weekend,sum(activeCount),sum(newCount) from rv_Cloud_SummaryWeek where (date(weekbegin)>=date('2018-05-01') and date(weekbegin)<='2018-05-31') or (date(weekend)>=date('2018-05-01') 
and date(weekend)<=date('2018-05-31')) or (date(weekbegin)<=('2018-05-01') and date(weekend)>=date('2018-05-31')) group by uid,weekbegin,weekend

  

使用的穷举法做的处理,即罗列出所有的情况进行or查询。

简单说一下逻辑思考过程:

周开始时间结束时间的字段是weekbegin,weekend

页面查询的时间范围是begindate和enddate

那么根据这四个时间字段的顺序可能是:

weekbegin    weekend    begindate    enddate

1                   2                3                   4

1                   3                2                   4

1                  4                 2                   3

2                  3                 1                   4

3                  4                 1                   2

最终得出以上SQL

SQL查询时,根据日期范围查询周的更多相关文章

  1. Entity Framework Code First 在Object Join Linq查询时出现全表查询的语句。

    最近一个项目,使用微软的Entity Framework的ORM框架的项目,部署到现场后,出现了系统缓慢,多个客户端的内存溢出崩溃的问题. 打开了SQL Server Profiler(SQL Ser ...

  2. 在SQLite Expert上用日期类型字段作为条件查询时注意日期的格式化

    经验之谈: 情况一:没有查询结果 and R_CheckInTime > '2015-7-12 18:47:00' and R_CheckInTime < '2015-7-18 18:48 ...

  3. SQL数据库学习,常用语句查询大全

    数据库学习 sql server数据库基本概念 使用文件保存数据存在几个缺点: 1.文件的安全性问题: 2.文件不利于查询和对数据的管理: 3.文件不利于存放海量数据 4.文件在程序中控制不方便. 数 ...

  4. Sql Server关于日期查询时,如果表中日期到具体某个时间

    1.如果查询日期参数为'2017/02/21',而数据库表中的字段为'2017/02/21 12:34:16.963',则需要格式化一下日期才能查询出来,如下 select * from table ...

  5. SQL语句中的日期查询

    我们先创建一个表: CREATE TABLE `student` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(10) NULL COMMEN ...

  6. DB查询分析器7.01新增的周、月SQL执行计划功能

                DB查询分析器7.01新增的周.月SQL执行计划功能 马根峰              (广东联合电子服务股份有限公司, 广州 510300) 1      引言   中国本土 ...

  7. sql 根据日期模糊查询&SQL Server dateTime类型 模糊查询

    曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm: ...

  8. 如何解决Mybatis 日期查询时后面带.0

    关于如何解决Mybatis 日期查询时后面带.0   MySQL数据库: 直接在MySQL查询语句中解决: SELECT T.ID, T.USERNAME, DATE_FORMAT(t.birthda ...

  9. sql 关于查询时 出现的 从数据类型 varchar 转换为 numeric 时出错 的解决方法。

    出现这种问题 一般是查询时出现了 varchar 转 numeric 时出了错  或varchar字段运算造成的 解决方法: 让不能转的数不转换就可以了 sql的函数有个isNumeric(参数) 用 ...

  10. (转)Oracle 获取上周一到周末日期的查询sql语句

    -- Oracle 取上周一到周末的sql -- 这样取的是 在一周内第几天,是以周日为开始的 select to_char(to_date('20130906','yyyymmdd'),'d') f ...

随机推荐

  1. 常用Hadoop命令(bin)

    **** bin 是二进制文件的意思,sbin....据说是superbin(管理员的bin) HDFS命令 某个文件的blocks信息 hadoop fsck /user/xx -files -bl ...

  2. spring的事件驱动模型

    在工作中会遇到这样的业务,生成一个订单后需要给指定的用户发送短信或者邮件,但是短信或者邮件发送失败又不会影响正常的业务: 这里介绍通过ApplicationContext和spring的@EventL ...

  3. C#之C#、.NET Framework、CLR的关系

    转自 https://www.cnblogs.com/cocoon/p/4997005.html 补补基础: 很多人没有将C#..NET Framework(.NET框架).CLR(Common La ...

  4. dataTable 实战总结

    后台项目中经常会用到 dataTable 进行表格的智能绘制:总结一下项目中经常用到的 dataTable 设置 1.dataTable 属性设置: autoWidth: true, // 是否自动计 ...

  5. checkbox 实现互斥选择

    // mutex 互斥 checkbox 互斥/** 互斥的原理.找到需要互斥的所有的元素.赋值 checked=false; 然后单独赋值 checked=true* */var mutexbox ...

  6. JGUI源码:右键菜单实现(12)

    1.要想实现右键菜单,就要先能响应右键函数 $('#down').mousedown(function(e){ if(3 == e.which){ alert('这是右键单击事件'); }else i ...

  7. Asp.net Core导出Excel

    本篇文章是在MVC设计模式下,基于windows系统的Excel导出 1.前台的实现不用我多说了吧,加一个a标签链接地址跳到它所调用的方法里面,可以根据当前页面的查询条件去传值,从而查询出你想要的数据 ...

  8. MySQL插入中文数据出现?号

    原文转载自:https://blog.csdn.net/LynneZoe/article/details/79174119 运行环境:win10 mysql版本:Mysql5.6 做一个项目的时候,向 ...

  9. RE模块垃圾回收机制

    今日内容 一.垃圾回收机制 函义:不能被程序访问到的数据,就称之为垃圾 1.引用计数 引用计数是用来记录值的内存地址被记录的次数的  每一次对值地址的引用都可以使该值的引用计数 +1 每一次对值地址的 ...

  10. rabbitmq - (消息队列) 的基本原理介绍

    介绍 MQ全称为Message Queue, 是一种分布式应用程序的的通信方法,它是消费-生产者模型的一个典型的代表,producer往消息队列中不断写入消息,而另一端consumer则可以读取或者订 ...