mysql - 最后添加的日期未显示在表格中
问题描述
为什么它没有显示我上次添加的销售额?在我的表数据中,我添加了日期为 2021-01-19 的销售额,但在执行查询后,日期为 2021-01-19 的数据未显示。我试过这个 <= 但我得到了相同的结果。当我将第二个值“2021-01-19”更改为“2021-01-20”时,它会显示带有 2021-01-19 的行。
我的查询:
SELECT tsd.sales_so, tsd.sales_dr, tsd.sales_si, tsd.sales_po, tsd.sales_date, tsd.sales_company, tsd.sales_particulars, tsd.sales_net_amount, SUM(tsp.payment_amount) AS amount_paid, tsp.payment_date, tsd.sales_balance, tsp.payment_remarks
FROM tbl_sales_details AS tsd
LEFT JOIN tbl_sales_payments AS tsp ON tsd.sales_id = tsp.sales_id
WHERE (tsd.sales_date >= '2021-01-01' AND tsd.sales_date < '2021-01-19')
GROUP BY tsd.sales_id
解决方案
比较日期和日期时间字段时,比较使用日期时间类型。这意味着当您遇到以下情况时:
WHERE tsd.sales_date < '2021-01-19'
你在现实中的情况变成:
WHERE tsd.sales_date < '2021-01-19 00:00:00'
显然,19日的每个时间点都会超出你的比较范围。如果您也想包括 2021-01-19 的一整天,那么您需要检查范围是否小于第二天。例如
WHERE tsd.sales_date < '2021-01-20'
推荐阅读
- python - 如何使用 Azure Blob 存储装载数据?
- ruby-on-rails - 如何对数据库中的记录进行分组然后计数以显示在视图中
- r - 在链式管道中删除一些后重命名所有数据框列
- python - PySerial 无法在 PyQt5 GUI 上从 Arduino 读取数据
- ruby - 在 FreeBSD 12 上带有 ruby 的 libv8
- c++ - 带有不同类型模板的 C++ 映射
- flutter - Flutter 删除 For 循环中的多个列表项(一个 For 循环中的多个返回)
- docker - 我可以使用 dokku predeploy 在 docker 容器中安装 google chrome 吗?
- c# - 如何在 Xamarin.iOS 中构建自定义 UIAlertController?
- amazon-web-services - 为什么我的子网数据源返回 VPC?