Mysql Where子句在两列中的一列中搜索15个不同的值

Mysql Where子句在两列中的一列中搜索15个不同的值,mysql,sql,Mysql,Sql,我有一个准确且有效的查询,用于提取CSR电话数据,但我只在一个CSR扩展上进行了测试。现在它工作了,我想把它应用到所有15个CSR中 查询: SELECT sum(Duration) AS total_talk_time_seconds , round(sum(Duration) / 60,2) AS total_talk_time_minutes , sum(if(LEGTYPE1 = 1,1,0)) AS total_outbound ,

我有一个准确且有效的查询,用于提取CSR电话数据,但我只在一个CSR扩展上进行了测试。现在它工作了,我想把它应用到所有15个CSR中

查询:

 SELECT
        sum(Duration) AS total_talk_time_seconds
      , round(sum(Duration) / 60,2) AS total_talk_time_minutes
      , sum(if(LEGTYPE1 = 1,1,0)) AS total_outbound
      , sum(if(LEGTYPE1 = 2,1,0) and ANSWERED = 1) AS total_inbound

FROM cdrdb.session a
    INNER JOIN cdrdb.callsummary b
      ON a.NOTABLECALLID = b.NOTABLECALLID
    where date(b.ts) >= curdate()
    AND 7200 in (callingpartyno, finallycalledpartyno);
但是,我想修改我的where子句,这样它就不会说“选择7200分机在callingpartyno和finallycalledpartyno中的位置”,而是说
在(callingpartyno,finallycalledpartyno)中选择调用的位置(727673147295730673577200721872477331725733070072157224073587312)

但我知道语法不起作用,因为它需要15列

以下是一些示例数据,供您快速了解:

    callingpartyno | finallycalledpartyno 
    -------------------------------------
    1234                outside   
    1234                outside   
    1234                outside   
    outsidecall         1234          
    outsidecall         1234          
    outsidecall         1234          
    9876                outside   
    9876                outside   
    9876                outside   
    outsidecall         9876         
    outsidecall         9876                  
    outsidecall         9876      
例如,扩展名1234有6个调用,但在表中,只有包含这两列,您才能知道这一点


对我来说,将查询应用于扩展数组的最佳/最准确和最高效的方法是什么?

每列重复一次列表,例如

select * 
from calls 
where callingpartyno IN (7276,7314, 7295, 7306,7357,7200,7218,7247 7331,7255,7330,7000,7215, 7240,7358,7312) 
OR  finallycalledpartyno IN (7276,7314, 7295, 7306,7357,7200,7218,7247 7331,7255,7330,7000,7215, 7240,7358,7312) 

每列重复该列表,例如

select * 
from calls 
where callingpartyno IN (7276,7314, 7295, 7306,7357,7200,7218,7247 7331,7255,7330,7000,7215, 7240,7358,7312) 
OR  finallycalledpartyno IN (7276,7314, 7295, 7306,7357,7200,7218,7247 7331,7255,7330,7000,7215, 7240,7358,7312) 

谢谢,这实际上是可行的,但现在我有一个问题:它返回一行总的累积数据。是否有一种方法可以将每个4位分机(无论是被叫号码还是主叫号码)视为用户ID或分机,并按其分组,这样我就有15行,每行都有各自的总数?您想按主叫方或被叫方(或两者)分组吗?从技术上讲,两者都是。因此,如果7276有6个呼叫作为主叫,6个呼叫作为主叫,那么分机7276就有一行,总共有12个呼叫。因此,如果在每一列中都有相同的4位扩展名,我想按它分组,将其视为该用户的扩展名ID谢谢,所以这实际上是可行的,但现在我有一个问题:这将返回一行总累积数据。是否有一种方法可以将每个4位分机(无论是被叫号码还是主叫号码)视为用户ID或分机,并按其分组,这样我就有15行,每行都有各自的总数?您想按主叫方或被叫方(或两者)分组吗?从技术上讲,两者都是。因此,如果7276有6个呼叫作为主叫,6个呼叫作为主叫,那么分机7276就有一行,总共有12个呼叫。因此,如果在我想分组的每一列中都有相同的4位数扩展名,则将其视为该用户的扩展名IDI。如果您有一个涉及聚合的后续问题,请随意提出一个新问题。如果您有一个涉及聚合的后续问题,请随意提出一个新问题。