【问题标题】:Search record daywise每天搜索记录
【发布时间】:2015-09-21 12:57:43
【问题描述】:

我被困在一个查询中,实际上我有一个提供开始日期时间和结束日期时间的搜索框,例如2015-09-18 13:00:002015-09-21 17:00:00

我试过查询

select l.date, l.center_name, l.center_office, l.offline, l.online, l.category,
(select service_name from services_master where service_id =  w.services) as servicename, 
(select vendor_name from vendor_master where vendor_id = w.vendor) as  vendorname 
from lease_reports l,wan_entries w 
where l.center_id = '7' and 
w.id = l.center_id and 
l.date between $startdatetime and $endatetime

我没有得到确切的结果,结果包括这两个日期之间的所有时间。我想要用户提供的精确间隔时间的逐日行

【问题讨论】:

  • 我不确定您所说的“结果包括这两个日期之间的所有时间”是什么意思。您能否提供当前和期望输出的示例?
  • @jgloves 当我运行查询时,返回的行介于 2015-09-18 13:00:00 到 2015-09-21 17:00:00 但我想要 2015-09 之间的结果-18 13:00:00 至 2015-09-18 17:00:00 每天 2015-09-21
  • 您是否尝试过查询时间然后按天分组? stackoverflow.com/questions/1658340/sql-query-to-group-by-day
  • @jgloves 是的,我试过了.. 但还是不行

标签: mysql sql datetime


【解决方案1】:

确切的语法取决于您使用的数据库(请参阅 stackoverflow.com/questions/1658340/sql-query-to-group-by-day),

但您要查找的逻辑/伪代码如下。

...

AND day(l.date) BETWEEN day($startdatetime) and day($endatetime)
AND time(l.date) BETWEEN time($startdatetime) and time($endatetime)

GROUP BY day(l.date)

但是,如果您分别查询日期和时间,最终用户可能会更清楚。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-25
    • 2018-07-11
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2018-11-15
    • 1970-01-01
    相关资源
    最近更新 更多