mysql - 如何在本月 1 日到上月 17 日之间进行选择
问题描述
我使用此选择查询,但下个月之后,上个月的数据不会出现。
SELECT xxx,xxx,xxx
FROM lott_user_table
WHERE MONTH(NOW()) AND DAYOFMONTH(datetime) BETWEEN 17 AND 1
如何修复或获取本月 1 日至上月 17 日之间的数据(不使用 date_sub())?
谢谢(对不起我的英语)
解决方案
SELECT id,datetime
FROM lott_user_table
where MONTH(datetime) between MONTH(CURRENT_DATE - INTERVAL 1 MONTH)
and MONTH(CURRENT_DATE)
and (DAYOFMONTH(datetime) > case when MONTH(datetime) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH) then
17
end
or DAYOFMONTH(datetime) <= case when MONTH(datetime) = MONTH(CURRENT_DATE) then
1
end)
这是演示:
推荐阅读
- python - 如何根据 Selenium 提供的 url 点击弹出窗口的关闭图标
- html - Download shiny HTML output as txt or pdf
- redis - With Redis set to allkeys-lfu eviction, can I specify that a specific key should NEVER be evicted?
- r - 将 Power BI 连接到 FTP
- login - Bigcommerce Stencil 自定义登录页面在 SAFARI/OPERA 上不起作用
- c - `read()` 可以直接跟在`write()` 后面,`write()` 跟在`read()` 后面吗?
- php - Array not being added to variable in foreach loop
- sql-server - ASP.NET MVC delete button
- eclipse-plugin - JFace TreeViewers 和 Eclipse e4 框架/SelectionService
- php - 如何从多维数组中删除特定键