Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从表中选择“计数”,其中列是连接的,但具有相关其他列的其他行没有特定值_Php_Mysql_Sql - Fatal编程技术网

Php 从表中选择“计数”,其中列是连接的,但具有相关其他列的其他行没有特定值

Php 从表中选择“计数”,其中列是连接的,但具有相关其他列的其他行没有特定值,php,mysql,sql,Php,Mysql,Sql,我的MySQL数据库中有一个表,其中有列: 呼唤 事件 我想选择事件为“ENTERQUEUE”的所有行,我正在以下查询中执行此操作: SELECT count(*) FROM voipnow.ast_queue_log WHERE queuename = '0536*401' AND DATE(time) = '2014-03-07' AND event = 'ENTERQUEUE' ORDER BY time DESC; 但我只想显示事件列不等于CONNECT的行数,其中CALID等

我的MySQL数据库中有一个表,其中有列:

呼唤 事件 我想选择事件为“ENTERQUEUE”的所有行,我正在以下查询中执行此操作:

SELECT count(*)
FROM voipnow.ast_queue_log
WHERE queuename = '0536*401'
  AND DATE(time) = '2014-03-07'
  AND event = 'ENTERQUEUE'
ORDER BY time DESC;
但我只想显示事件列不等于CONNECT的行数,其中CALID等于上述查询中的CALID列

SELECT count(*)
  FROM voipnow.ast_queue_log
 WHERE queuename = '0536*401'
   AND DATE(time) = '2014-03-07'
   AND event <> 'CONNECT'
   and callid not in (SELECT callid
                        FROM voipnow.ast_queue_log
                       WHERE queuename = '0536*401'
                         AND DATE(time) = '2014-03-07'
                         AND event = 'ENTERQUEUE')
 ORDER BY time DESC;

你的描述留下了解释的余地。我的理解是: 其中不存在具有相同callid和event='CONNECT'的行


你可以试着缩短标题,把细节放在问题的主体部分。
SELECT count(*)
FROM   voipnow.ast_queue_log v1
WHERE  queuename = '0536*401'
AND    date(time) = '2014-03-07'
AND    event = 'ENTERQUEUE'
AND NOT EXISTS (
   SELECT 1
   FROM   voipnow.ast_queue_log v2
   WHERE  v2.callid = v1.callid 
   AND    v2.event = 'CONNECT'
   )