id date province dur num
1 2021-02-16 内蒙古自治区 [7,15) 3
2 2021-02-16 其他 [15,+∞) 7,247
3 2021-02-16 上海市 [1,7) 2
4 2021-02-16 云南省 [1,7) 5
5 2021-02-16 北京市 [1,7) 3
数据库中有这种数据,需要实现的效果是
这种,劳烦大佬指教
查询结果是的需求逻辑是什么?
修改了一下,前面结果是没有问题的,展示顺序有问题
SELECT
t3.date,t3.province,t3.dur,IFNULL(t4.num,0)
FROM
(
SELECT
t1.date,t1.province,t2.dur,t2.sort
FROM
(SELECT DISTINCT date,province FROM offline_stat) t1,(SELECT DISTINCT dur,REPLACE (dur, '[', '') * 1 AS sort FROM offline_stat) t2
) t3
LEFT JOIN
offline_stat t4
ON
t3.date=t4.date AND t3.province = t4.province AND t3.dur=t4.dur
ORDER BY 1,2 DESC,t3.sort
;