首页 > 解决方案 > 如何使用 MySQL OUTER JOIN 单独分组的表

问题描述

我有两个单独的表,我需要根据分组的日期列加入它们(原始值有特定的日期,我需要它们按月),我似乎找不到这样做的方法,因为我将它们分组为不同的特征。表格如下:

第一的:

SELECT  DATE_FORMAT(`Samples`.`created_at`,'%Y-%m') AS `Month of Created At`
        COUNT(DISTINCT `Samples`.`id`) AS `Samples X`
FROM `samples` AS `Samples`
WHERE `Samples`.`group` = 'x'
       AND `Samples`.`created_at` BETWEEN DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 YEAR) AND CURRENT_TIMESTAMP
ORDER BY `Month of Created At` ASC

输出样本:

Month of Created At   Samples X
            2020-01          54
            2020-02         224
            2020-03         467
            2020-04         453
            2020-05         354

第二:

SELECT  DATE_FORMAT(`Samples`.`created_at`,'%Y-%m') AS `Month of Created At`
        COUNT(DISTINCT `Samples`.`id`) AS `Samples Y`
FROM `samples` AS `Samples`
WHERE `Samples`.`section` = 'y'
       AND `Samples`.`created_at` BETWEEN DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 YEAR) AND CURRENT_TIMESTAMP
ORDER BY `Month of Created At` ASC

输出样本:

Month of Created At   Samples Y
            2020-02           2
            2020-05           7

我需要最终结果是这样的:

Month of Created At   Samples X   Samples Y
            2020-01          54
            2020-02         224           2
            2020-03         467
            2020-04         453
            2020-05         354           7

标签: mysql

解决方案


推荐阅读