【问题标题】:SQL Query - Get distinct count of two tablesSQL 查询 - 获取两个表的不同计数
【发布时间】:2016-11-15 06:54:34
【问题描述】:

表 1(student_details)

拥有 532 条数据,每个顾问都有不同的顾问,每个数据都分配给一个顾问,例如

    id advisor
    -- -------
    1  Bala
    2  Shanmugam
    3  Priya
    4 Bala
   etc..

类似表 2:training_details

        id advisor
        -- -------
        1  Bala

       etc..

我尝试了这个查询,这将返回从 t​​able1 单独分配给每个顾问的人数。我只想从两个表中计数并选择顾问

SELECT DISTINCT t1.advisor as advisor,IFNULL(COUNT(t2.advisor), 0) AS total  FROM advisor AS t1 
LEFT JOIN student_details AS t2 ON t1.advisor = t2.advisor AND t2.del!=1 GROUP BY t1.advisor;

同样,我只想加入两个表条目并在 2 列中返回具有相同计数的不同顾问;

【问题讨论】:

    标签: php mysql sql-server charts


    【解决方案1】:
    SELECT advisor, COUNT(*) as TheCount
    FROM
        (
         SELECT advisor FROM table 1
         UNION ALL
         SELECT advisor FROM table 2
         ) AS [TheNames]
    GROUP BY advisor
    

    SELECT x.advisor, COUNT(x.advisor)
        FROM (SELECT advisor
                FROM table1
              UNION ALL
              SELECT advisor
                FROM table2
             ) x
    GROUP BY x.advisor
    

    【讨论】:

    • 这里你没有指定关于第二张桌子的任何内容
    • 是的,我得到了结果。无论如何要在此查询中添加 Where 子句
    • 从表中选择后你可以使用...@KavyaShree
    • 如果我选择年份它将显示该年份的计数
    • 在两个表中都会有日期列,因此如果数据属于该特定列值,它将单独检索该列
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 2022-10-08
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    相关资源
    最近更新 更多