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;