Mysql查询输出一个日期为空,另一个日期为空

Mysql查询输出一个日期为空,另一个日期为空,mysql,Mysql,下面是详细信息 Mysql表结构 名称类型排序规则属性空默认值 1间隔\u开始主日期时间无 2个ad_id主要介质(9)无无 3区id主要介质(9)无 4 c_count int(11)No 0 5 i_count int(11)No 0 6转换计数整数(11)无无 表中的数据 2020-10-08 09:30:00 216 10008 1 1 0 2020-10-08 10:30:00 216 10008 0 12 0 2020-10-08

下面是详细信息

Mysql表结构

名称类型排序规则属性空默认值 1间隔\u开始主日期时间无
2个ad_id主要介质(9)无无
3区id主要介质(9)无
4 c_count int(11)No 0
5 i_count int(11)No 0
6转换计数整数(11)无无

表中的数据

2020-10-08 09:30:00     216     10008   1   1   0
2020-10-08 10:30:00     216     10008   0   12  0
2020-10-08 10:32:17     216     10008   0   0   1
2020-10-08 10:40:39     216     10008   0   0   2
2020-10-08 13:30:00     216     10008   0   1   0
2020-10-09 09:30:00     216     10008   1   5   0
2020-10-09 10:10:38     216     10008   0   0   1
2020-10-09 10:30:00     216     10008   0   72  0
2020-10-09 10:56:02     216     10008   0   0   15
Mysql查询 输出提供适当的

SELECT
    *
FROM
    (
    SELECT
        SUM(i_count),
        DATE(interval_start) as date_time
    FROM
        rv_data_reports s
) e
where date_time = '2020-10-08';
但对于下面的查询,它将呈现空白输出。

SELECT
    *
FROM
    (
    SELECT
        SUM(i_count),
        DATE(interval_start) as date_time
    FROM
        rv_data_reports s
) e
where date_time = '2020-10-09';

子查询在返回的日期\时间之前对整个数据集进行求和,但没有一个组,这是不确定的,实际上您的第一个查询返回的日期之和不正确

您没有说明希望子查询执行什么操作,但如果希望按日期求和,则应包括一个group by,例如

SELECT
    *
FROM
    (
    SELECT
        SUM(i_count),
        DATE(interval_start) as date_time
    FROM
        T s
        GROUP BY DATE(interval_start)
) e
where date_time = '2020-10-08';
   SELECT
        SUM(i_count),
        DATE(interval_start) as date_time
    FROM
        T s
        GROUP BY DATE(interval_start) having date_time = '2020-10-08'
子查询现在返回两个日期的总和。 查询很笨拙,例如,您可以使用having子句而不是主查询

SELECT
    *
FROM
    (
    SELECT
        SUM(i_count),
        DATE(interval_start) as date_time
    FROM
        T s
        GROUP BY DATE(interval_start)
) e
where date_time = '2020-10-08';
   SELECT
        SUM(i_count),
        DATE(interval_start) as date_time
    FROM
        T s
        GROUP BY DATE(interval_start) having date_time = '2020-10-08'
如果要对指定的数据求和,请使用where子句

SELECT
        SUM(i_count),
        DATE(interval_start) as date_time
    FROM
        T s
        where DATE(interval_start) = '2020-10-08'

子查询在返回日期\时间之前对整个数据集进行求和,但没有一个组,这是不确定的。我只想对前面提到的一列求和,并且运行良好。查询不适用于2020-10-09日期记录,但适用于2020-10-08日期记录。我提到的查询不适用于2020-10-09日期记录。并且在08年的日期记录中表现良好。我需要的记录在问题中提到,我不想对其他列求和,只想对QueryDar Salmon中提到的一列求和,我使用的是mysql 5.7,并且在其中运行良好。为'2020-10-08'返回91的总和显然是错误的..好的,你能帮我解决这个问题吗?对于所有的日期记录,比如08和09日期,它都能很好地工作。