如果可以將開始期間20180901,結束時間20180905,轉換成20180901,20180902,20180903,20180904,20180905的陣列就好了,
到時沒有函式轉換,求大神們解答。
uj5u.com熱心網友回復:
SELECTt1.brand, t1.totalDays - IFNULL(t2.midDays,0) days
FROM
(SELECT
t1.brand,
DATEDIFF(MAX(t1.enddate), MIN(t1.startdate)) + 1 totalDays
FROM t_sales t1
GROUP BY t1.brand ) t1
LEFT JOIN (
SELECT t.brand, MIN(t.midDays) midDays FROM
(SELECT
t1.brand,
(CASE WHEN t1.enddate < t2.startdate AND t1.id <> t2.id THEN DATEDIFF(t2.startdate,t1.enddate) - 1 ELSE 0 end) midDays
FROM t_sales t1 JOIN t_sales t2 ON t1.brand = t2.brand
) t WHERE t.midDays != 0 GROUP BY t.brand
) t2 ON t1.brand = t2.brand
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/57337.html
標籤:數據庫報表
