Mysql 需要帮助执行SQL查询吗

Mysql 需要帮助执行SQL查询吗,mysql,sql,Mysql,Sql,这里有两个查询结果,我需要运行一个查询来获得相同的结果 1-Total slots 2-created Date 3-start date 4-end date 5-Unused Slots 第一个问题:- SELECT COUNT( id ) as total_slots , created_date, MIN( DATE ) as start_date , MAX( DATE ) as end_date FROM slots GROUP BY creat

这里有两个查询结果,我需要运行一个查询来获得相同的结果

1-Total slots
2-created Date
3-start date
4-end date
5-Unused Slots
第一个问题:-

SELECT COUNT( id ) as total_slots , 
       created_date, MIN( DATE ) as start_date , 
       MAX( DATE ) as end_date 
FROM slots 
GROUP BY created_date;
查询1(结果)

我可以在同一个查询中获得未使用的插槽吗? 但是这里

SELECT COUNT( id ) AS unused 
FROM slots
WHERE user_id =0 
AND created_date =  '2016-10-01 20:20:20'
创建日期为2016-10-01 20:20:20的结果查询

unused  
79

SELECT COUNT( id ) AS unused 
FROM slots 
WHERE user_id =0 
AND created_date =  '2016-10-01 20:24:45'
创建日期为2016-10-01 20:24:45的结果查询

unused  
51
试一试


@您的预期/期望输出是什么?由于这两个表是不同的,并且彼此不相关,所以只有一个名为“slots”的表被称为“vb_slots”,这只是一个错误。以下是预期结果的图像URL。哇,这正是令人惊讶的要求,你能解释一下“当user\u id=0然后1结束时的情况”吗?计数聚合不计数为NULL,因此CASE表达式说“如果user\u id为0,那么返回1”,因为没有其他定义的情况,对于user\u id不是0的任何其他记录,都将返回NULL。i、 e.对于每个用户id为0的记录,将在计数中计数。非常感谢您的帮助!
SELECT
   COUNT( id ) as total_slots, 
   created_date, 
   MIN( DATE ) as start_date, 
   MAX( DATE ) as end_date,
   COUNT(CASE WHEN user_id = 0 THEN 1 END) as unused_slots
FROM slots 
GROUP BY created_date;