我有以下查询:
SELECT dm.app_id, apt.app_name, COUNT(dm.app_id)
FROM dm_openapp dm
JOIN app_table apt ON dm.app_id = apt.app_id
GROUP BY dm.app_id
Run Code Online (Sandbox Code Playgroud)
基本上这个表也有与每个记录相关的日期,我需要在时间X和Y之间获得所有记录的范围,例如,我尝试使用以下内容,但无济于事:
WHERE dm.dl_time BETWEEN '2011-05-31' AND '2011-05-06'
Run Code Online (Sandbox Code Playgroud)
知道怎么做?dl_time列是时间戳类型.
最好将DATETIME列类型用于这些事情.比这应该工作:使用str_to_date()函数.另外,交换BETWEEN值.
WHERE dm.dl_time BETWEEN str_to_date('2011-05-06','%Y-%m-%d') AND str_to_date('2011-05-31','%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
嗯……你把数据弄错了。BETWEEN
必须是低值到高值:
尝试这个:
WHERE dm.dl_time BETWEEN '2011-05-06' AND '2011-05-31' -- Note date values swapped
Run Code Online (Sandbox Code Playgroud)
您可以忽略其他答案,这些答案也没有注意到这一点......
归档时间: |
|
查看次数: |
19525 次 |
最近记录: |