【发布时间】:2015-01-08 03:13:58
【问题描述】:
我有一个名为 nca 的表,这是它的值:
+--------+---------+------------+------------+---- ----------+----------+ | nca_id | nca_no |问题日期 | nca_数量 |帐户类型 |余额| +--------+---------+------------+------------+---- ----------+---------+ | 1 | 14-0001 | 2015-01-08 | 200000 |机械臂 | 0 | | 2 | 14-0002 | 2015-01-08 | 400000 |机械臂 | 0 | | 3 | 14-0003 | 2015-02-02 | 1000000 |机械臂 | 0 | | 4 | 14-0004 | 2015-02-02 | 300000 |机械臂 | 0 | | 5 | 14-0001 | 2015-01-08 | 250000 | DBP-信任 | 0 | | 6 | 14-0002 | 2015-01-08 | 400000 | DBP-信任 | 0 | +--------+---------+------------+------------+---- ----------+---------+现在使用此查询,它可以显示基于 issue_date 的 nca_amount 的总和:
SELECT SUM(nca_amount) FROM nca WHERE account_type = 'ROP' AND issue_date = '2015-02-02'
它给出了 1300000 的结果,因为它将日期为 2015-02-02 的所有金额相加,并且如果您仅在查询本身上设置日期就可以正常工作。
但我有想要解决的方案。我有一个 html 表单,用户可以在其中输入他想要的日期。
如果用户输入 2015 年 2 月 23 日的日期,我希望这个日期输入引用我表中的 2015 年 2 月 2 日的 issue_date。我想要的是如果日期输入在 nca 表上 issue_date 的 MONTH 的范围内,这将引用在 nca 表上找到的 issue_date 并显示总和。例如:
user input_date = '2015-02-23' 指 issue_date = '2015-02-02'
因为输入的日期在我的 nca 表上找到的“2015-02-02”范围内,然后它可以像上面的查询一样显示总和。我该怎么做这个查询?任何人都可以帮助解决这个问题吗?提前致谢。
【问题讨论】:
-
你可以做类似
WHERE YEAR(issue_date) = YEAR('2015-02-02') AND MONTH(issue_date) = MONTH('2015-02-02')