作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含以下记录的表
slno | FirstName | LastName | Attended | Month | Year |
-----|-----------|----------|----------|--------|------|
1 | John | Smith | 0 | 04 | 2017 |
2 | Jack | Paul | 1 | 04 | 2017 |
3 | Jerry | Tom | 1 | 04 | 2017 |
4 | Beth | Home | 0 | 04 | 2017 |
5 | Julia | John | 1 | 04 | 2017 |
6 | Cris | joy | 0 | 05 | 2017 |
7 | Meiy | Rony | 1 | 05 | 2017 |
8 | Ronald | Jony | 1 | 05 | 2017 |
9 | Quest | Pio | 0 | 05 | 2017 |
10 | Mary | June | 1 | 05 | 2017 |
11 | Joy | Meth | 0 | 03 | 2017 |
12 | Ruby | Rony | 1 | 03 | 2017 |
13 | Royal | Jony | 1 | 03 | 2017 |
14 | Tweet | Pio | 0 | 03 | 2017 |
15 | Min | June | 1 | 03 | 2017 |
我想显示基于月份和年份的数据。例如:04 2017 应该只显示 4 月份的数据,而参加的 3 月份=0。但是当我搜索 05 2017 时,它应该显示 5 月份的数据,包括前几个月的数据,即 Attended=0 [3 月和 4 月]。
我有以下声明:
select FirstName,LastName,Attended from UserTable
where Attended in (0,1)
and ( Attended not in (1) or (Month='04' and Year='2017'));
我会得到我想要的记录。但是,如果我搜索 Month='03' Year='2017' ,它会显示 5 月和 4 月的所有 Attended=0。
if Month='05' year='2017' -- current month
6 | Cris | joy | 0 | 05 | 2017 |
7 | Meiy | Rony | 1 | 05 | 2017 |
8 | Ronald | Jony | 1 | 05 | 2017 |
9 | Quest | Pio | 0 | 05 | 2017 |
10 | Mary | June | 1 | 05 | 2017 |
1 | John | Smith | 0 | 04 | 2017 |
4 | Beth | Home | 0 | 04 | 2017 |
11 | Joy | Meth | 0 | 03 | 2017 |
14 | Tweet | Pio | 0 | 03 | 2017 |
如果月='04' 年='2017'
1 | John | Smith | 0 | 04 | 2017 |
2 | Jack | Paul | 1 | 04 | 2017 |
3 | Jerry | Tom | 1 | 04 | 2017 |
4 | Beth | Home | 0 | 04 | 2017 |
5 | Julia | John | 1 | 04 | 2017 |
11 | Joy | Meth | 0 | 03 | 2017 |
14 | Tweet | Pio | 0 | 03 | 2017 |
如果月='03' 年='2017'
11 | Joy | Meth | 0 | 03 | 2017 |
12 | Ruby | Rony | 1 | 03 | 2017 |
13 | Royal | Jony | 1 | 03 | 2017 |
14 | Tweet | Pio | 0 | 03 | 2017 |
15 | Min | June | 1 | 03 | 2017 |
我该怎么做?
最佳答案
您可以通过将月份和年份解析为日期来执行此操作,然后像这样查询:
SELECT * FROM your_table
WHERE
('05' = `Month` AND '2017' = `Year`)
OR
(
'05-2017' >= DATE_FORMAT(STR_TO_DATE(CONCAT(`Mont`, '-', `Year`), '%m-%Y'), '%m-%Y')
AND
Attended = 0
);
关于mysql获取当月上月未处理的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44106501/
似乎无法找到答案 - 所以我想我会试一试。 我已经阅读了几个关于如何检测背景事件点击的答案。如:Detect click on background event 然而,我发现当两个或更多背景事件位于同
我在处理插入日期时间值时遇到了一个奇怪的问题。它发生在插入 DATETIME 或 TIMESTAMP 类型的列时,以及使用 STR_TO_DATE 函数时。 当月份、日期、小时或分钟为数字 8 或 9
我是一名优秀的程序员,十分优秀!