SELECT
COUNT(DISTINCT CASE
WHEN TIME(login_time) BETWEEN '07:30:00' AND '09:30:00'
OR TIME(login_time) BETWEEN '18:30:00' AND '20:30:00' THEN usr_id
END) AS commute,
COUNT(DISTINCT CASE
WHEN TIME(login_time) BETWEEN '11:30:00' AND '14:00:00' THEN usr_id
END) AS lunch_break,
COUNT(DISTINCT CASE
WHEN TIME(login_time) BETWEEN '22:30:00' AND '23:59:59' THEN usr_id
WHEN TIME(login_time) BETWEEN '00:00:00' AND '01:00:00' THEN usr_id
END) AS bedtime
FROM
user_login_log
WHERE
login_time >= DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01')
AND login_time < DATE_FORMAT(CURDATE(), '%Y-%m-01');
SELECT
SUM(DISTINCT CASE
WHEN (TIME(login_time) BETWEEN '07:30:00' AND '09:30:00')
OR (TIME(login_time) BETWEEN '18:30:00' AND '20:30:00') THEN 1 ELSE 0 END) AS commute,
SUM(DISTINCT CASE
WHEN TIME(login_time) BETWEEN '11:30:00' AND '14:00:00' THEN 1 ELSE 0 END) AS lunch_break,
SUM(DISTINCT CASE
WHEN (TIME(login_time) BETWEEN '22:30:00' AND '23:59:59')
OR (TIME(login_time) BETWEEN '00:00:00' AND '01:00:00') THEN 1 ELSE 0 END) AS bedtime
FROM user_login_log
WHERElogin_time >= DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01')
AND login_time < DATE_FORMAT(CURDATE(), '%Y-%m-01');
SELECT
SUM(DISTINCT CASE WHEN (TIME(login_time) BETWEEN '07:30:00' AND '09:30:00')
OR (TIME(login_time) BETWEEN '18:30:00' AND '20:30:00') THEN 1 ELSE 0 END) AS commute,
SUM(DISTINCT CASE WHEN TIME(login_time) BETWEEN '11:30:00' AND '14:00:00' THEN 1 ELSE 0 END) AS lunch_break,
SUM(DISTINCT CASE WHEN (TIME(login_time) BETWEEN '22:30:00' AND '23:59:59')
OR (TIME(login_time) BETWEEN '00:00:00' AND '01:00:00') THEN 1 ELSE 0 END) AS bedtime
FROM user_login_log
WHERElogin_time >= DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01')
AND login_time < DATE_FORMAT(CURDATE(), '%Y-%m-01');
SELECT
SUM(DISTINCT CASE WHEN (TIME(login_time) BETWEEN '07:30:00' AND '09:30:00')
OR (TIME(login_time) BETWEEN '18:30:00' AND '20:30:00') THEN 1 ELSE 0 END) AS commute,
SUM(DISTINCT CASE WHEN TIME(login_time) BETWEEN '11:30:00' AND '14:00:00' THEN 1 ELSE 0 END) AS lunch_break,
SUM(DISTINCT CASE WHEN (TIME(login_time) BETWEEN '22:30:00' AND '23:59:59')
OR (TIME(login_time) BETWEEN '00:00:00' AND '01:00:00') THEN 1 ELSE 0 END) AS bedtime
FROM user_login_log
WHEREMONTH(login_time) = MONTH(CURRENT_DATE)-1
SELECT
SUM(DISTINCT CASE WHEN (TIME(login_time) BETWEEN '07:30:00' AND '09:30:00')
OR (TIME(login_time) BETWEEN '18:30:00' AND '20:30:00') THEN 1 ELSE 0 END) AS commute,
SUM(DISTINCT CASE WHEN TIME(login_time) BETWEEN '11:30:00' AND '14:00:00' THEN 1 ELSE 0 END) AS lunch_break,
SUM(DISTINCT CASE WHEN TIME(login_time) BETWEEN '22:30:00' AND '01:00:00' THEN 1 ELSE 0 END) AS bedtime
FROM user_login_log
WHEREMONTH(login_time) = MONTH(CURRENT_DATE)-1
SELECT
SUM(CASE WHEN (TIME(login_time) BETWEEN '07:30:00' AND '09:30:00')
OR (TIME(login_time) BETWEEN '18:30:00' AND '20:30:00') THEN 1 ELSE 0 END) AS commute,
SUM(CASE WHEN TIME(login_time) BETWEEN '11:30:00' AND '14:00:00' THEN 1 ELSE 0 END) AS lunch_break,
SUM(CASE WHEN TIME(login_time) BETWEEN '22:30:00' AND '01:00:00' THEN 1 ELSE 0 END) AS bedtime
FROM user_login_log
WHEREMONTH(login_time) = MONTH(CURRENT_DATE)-1
SELECT
YEAR(dt) AS Y,
CAST(AVG(CASE WHEN city = 'beijing' THEN tmp_h END) AS DECIMAL(4,2)) AS 北京,
CAST(AVG(CASE WHEN city = 'shanghai' THEN tmp_h END) AS DECIMAL(4,2)) AS 上海,
CAST(AVG(CASE WHEN city = 'shenzhen' THEN tmp_h END) AS DECIMAL(4,2)) AS 深圳,
CAST(AVG(CASE WHEN city = 'guangzhou' THEN tmp_h END) AS DECIMAL(4,2)) AS 广州
FROM weather_rcd_china
WHERE
city IN ('beijing','shanghai','guangzhou','shenzhen')
AND YEAR(dt) BETWEEN 2011 AND 2022
GROUP BY YEAR(dt)
ORDER BY Y
SELECT
YEAR(dt) AS Y,
CAST(ROUND(AVG(CASE WHEN city = 'beijing' THEN tmp_h END),2) AS DECIMAL(4,2)) AS 北京,
CAST(ROUND(AVG(CASE WHEN city = 'shanghai' THEN tmp_h END),2) AS DECIMAL(4,2)) AS 上海,
CAST(ROUND(AVG(CASE WHEN city = 'shenzhen' THEN tmp_h END),2) AS DECIMAL(4,2)) AS 深圳,
CAST(ROUND(AVG(CASE WHEN city = 'guangzhou' THEN tmp_h END),2) AS DECIMAL(4,2)) AS 广州
FROM weather_rcd_china
WHERE
city IN ('beijing','shanghai','guangzhou','shenzhen')
AND YEAR(dt) BETWEEN 2011 AND 2022
GROUP BY YEAR(dt)
ORDER BY Y
SELECT
YEAR(dt) AS Y,
CAST(ROUND(AVG(CASE WHEN city = 'beijing' THEN tmp_h END),2) AS DECIMAL(10,2)) AS 北京,
CAST(ROUND(AVG(CASE WHEN city = 'shanghai' THEN tmp_h END),2) AS DECIMAL(10,2)) AS 上海,
CAST(ROUND(AVG(CASE WHEN city = 'shenzhen' THEN tmp_h END),2) AS DECIMAL(10,2)) AS 深圳,
CAST(ROUND(AVG(CASE WHEN city = 'guangzhou' THEN tmp_h END),2) AS DECIMAL(10,2)) AS 广州
FROM weather_rcd_china
WHERE
city IN ('beijing','shanghai','guangzhou','shenzhen')
AND YEAR(dt) BETWEEN 2011 AND 2022
GROUP BY YEAR(dt)
ORDER BY Y