[英]using min and DATE() in SQL
我正在运行一个SQL查询,我想使用min()
和DATE()
我试过了:
and min(DATE(datetime)) = '".date("Y-m-d")."'
但这不起作用,我应该使用什么?
我试过的完整查询是:
select
min(datetime) as d,
ticketnumber
from ticket_updates
where type = 'update'
and min(DATE(datetime)) = '".date("Y-m-d")."'
group by ticketnumber
我也尝试过:
select
min(datetime) as d,
ticketnumber
from ticket_updates
where type = 'update'
and min(datetime) >= '".date("Y-m-d 00:00:00")."'
and min(datetime) <= '".date("Y-m-d 23:59:59")."'
group by ticketnumber
但我得到一个错误说:
无效使用组功能
无需在where子句中使用min
函数。
我还更改了between
的可读性。
select
min(datetime) as d,
ticketnumber
from ticket_updates
where type = 'update'
and datetime between'".date("Y-m-d 00:00:00")."'
and '".date("Y-m-d 23:59:59")."'
group by ticketnumber
该代码将在提供的日期中找到每个票证编号的最低日期/时间。
看看这个FIDDLE
如果要最早的日期时间,请使用having
子句:
select min(datetime) as d, ticketnumber
from ticket_updates
where type = 'update'
group by ticketnumber
having min(DATE(datetime)) = '".date("Y-m-d")."'
这些作为构造似乎很奇怪,因为分钟将获取您输入的日期。 所有工作都在过滤中。
将查询换成另一个:
SELECT d, ticketnumber FROM(
select
min(datetime) as d,
ticketnumber
from ticket_updates
where type = 'update'
group by ticketnumber
) t
WHERE d between '...' and '...'
如果要获取最小日期,则需要有一个列进行分组。 例如,
Select id, Min(Date) as Min_date
from mytable group by id
您能否提供更多详细信息,以便我们尝试解决此问题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.