我有這個圖表代碼并且作業正常。如何將這兩個單獨的查詢合并為一個查詢?
PS:如果你問為什么$db->query()在這里,我使用一個 mysqli 類。
我的代碼:
//Query one
$qs=$db->query('SELECT
(DATE_FORMAT(regtime, "%M")) AS luna,
COUNT(id) AS devizieri FROM edev_useri WHERE groupid = 6 AND YEAR(regtime) = YEAR(CURRENT_DATE)
GROUP BY (DATE_FORMAT(regtime, "%M"))
ORDER BY luna ASC');
//Query two
$qz=$db->query('SELECT
(DATE_FORMAT(regtime, "%M")) AS bluna,
COUNT(id) AS beneficiar FROM edev_useri WHERE groupid = 7 AND YEAR(regtime) = YEAR(CURRENT_DATE)
GROUP BY (DATE_FORMAT(regtime, "%M"))
ORDER BY bluna ASC');
uj5u.com熱心網友回復:
這是一個解決方案。
SELECT t0.*, t1.devizieri, t2.beneficiar FROM
(SELECT
(DATE_FORMAT(regtime, "%M")) AS luna
FROM edev_useri
WHERE (groupid = 6 OR groupid = 7) AND YEAR(regtime) = YEAR(CURRENT_DATE)
GROUP BY (DATE_FORMAT(regtime, "%M"))
ORDER BY luna ASC ) AS t0
LEFT JOIN
(SELECT
(DATE_FORMAT(regtime, "%M")) AS luna,
COUNT(id) AS devizieri FROM edev_useri WHERE groupid = 6 AND YEAR(regtime) = YEAR(CURRENT_DATE)
GROUP BY (DATE_FORMAT(regtime, "%M"))
ORDER BY luna ASC ) AS t1
ON t0.luna = t1.luna
LEFT JOIN
(SELECT
(DATE_FORMAT(regtime, "%M")) AS luna,
COUNT(id) AS beneficiar FROM edev_useri WHERE groupid = 7 AND YEAR(regtime) = YEAR(CURRENT_DATE)
GROUP BY (DATE_FORMAT(regtime, "%M"))
ORDER BY luna ASC) AS t2
ON t0.luna = t2.luna
uj5u.com熱心網友回復:
$qs=$db->query('SELECT
(DATE_FORMAT(regtime, "%M")) AS luna,
COUNT(id) AS devizieri FROM edev_useri WHERE groupid = 6 AND YEAR(regtime) = YEAR(CURRENT_DATE)
GROUP BY (DATE_FORMAT(regtime, "%M"))
ORDER BY luna ASC UNION SELECT
(DATE_FORMAT(regtime, "%M")) AS luna,
COUNT(id) AS devizieri FROM edev_useri WHERE groupid = 7 AND YEAR(regtime) = YEAR(CURRENT_DATE)
GROUP BY (DATE_FORMAT(regtime, "%M"))
ORDER BY luna ASC');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322107.html
標籤:mysql
