Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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
我的回答。你救了我的命,其他所有的aswer都在MySQL中返回多行。非常感谢much@Abner很高兴这在8年后仍然有用:)@MajidLaissi是的,它把我的查询时间从一分钟改为不到一秒我创建的一个查询使…-该查询在哪里?如何将where calus_Mysql_Sql_Join_Count_Group By - Fatal编程技术网

我的回答。你救了我的命,其他所有的aswer都在MySQL中返回多行。非常感谢much@Abner很高兴这在8年后仍然有用:)@MajidLaissi是的,它把我的查询时间从一分钟改为不到一秒我创建的一个查询使…-该查询在哪里?如何将where calus

我的回答。你救了我的命,其他所有的aswer都在MySQL中返回多行。非常感谢much@Abner很高兴这在8年后仍然有用:)@MajidLaissi是的,它把我的查询时间从一分钟改为不到一秒我创建的一个查询使…-该查询在哪里?如何将where calus,mysql,sql,join,count,group-by,Mysql,Sql,Join,Count,Group By,我的回答。你救了我的命,其他所有的aswer都在MySQL中返回多行。非常感谢much@Abner很高兴这在8年后仍然有用:)@MajidLaissi是的,它把我的查询时间从一分钟改为不到一秒我创建的一个查询使…-该查询在哪里?如何将where caluse添加到所有表在该查询中确实需要“group by distributor\u id”?如果没有该查询,它也可以工作well@user1451111原来的问题得到了答案,所以答案取决于问题本身 SELECT distributor_id, C


我的回答。你救了我的命,其他所有的aswer都在MySQL中返回多行。非常感谢much@Abner很高兴这在8年后仍然有用:)@MajidLaissi是的,它把我的查询时间从一分钟改为不到一秒<代码>我创建的一个查询使…-该查询在哪里?如何将where caluse添加到所有表在该查询中确实需要“group by distributor\u id”?如果没有该查询,它也可以工作well@user1451111原来的问题得到了答案,所以答案取决于问题本身
SELECT distributor_id, 
COUNT(*) AS TOTAL, 
COUNT(*) WHERE level = 'exec', 
COUNT(*) WHERE level = 'personal'
'SELECT distributor_id, COUNT(*)
GROUP BY distributor_id'
SELECT a.distributor_id,
    (SELECT COUNT(*) FROM myTable WHERE level='personal' and distributor_id = a.distributor_id) as PersonalCount,
    (SELECT COUNT(*) FROM myTable WHERE level='exec' and distributor_id = a.distributor_id) as ExecCount,
    (SELECT COUNT(*) FROM myTable WHERE distributor_id = a.distributor_id) as TotalCount
FROM (SELECT DISTINCT distributor_id FROM myTable) a ;
SELECT distributor_id, COUNT() FROM ... UNION
SELECT COUNT() AS EXEC_COUNT FROM ... WHERE level = 'exec' UNION
SELECT COUNT(*) AS PERSONAL_COUNT FROM ... WHERE level = 'personal';
SELECT distributor_id, COUNT(*) FROM ... GROUP BY level;
SELECT 
    distributor_id, 
    COUNT(*) AS TOTAL, 
    COUNT(IF(level='exec',1,null)),
    COUNT(IF(level='personal',1,null))
FROM sometable;
SELECT distributor_id,
    count(*) AS total,
    sum(case when level = 'exec' then 1 else 0 end) AS ExecCount,
    sum(case when level = 'personal' then 1 else 0 end) AS PersonalCount
FROM yourtable
GROUP BY distributor_id
select distributor_id,
    count(*) total,
    sum(case when level = 'exec' then 1 else 0 end) ExecCount,
    sum(case when level = 'personal' then 1 else 0 end) PersonalCount
from yourtable
group by distributor_id

SELECT a.distributor_id,
          (SELECT COUNT(*) FROM myTable WHERE level='personal' and distributor_id = a.distributor_id) as PersonalCount,
          (SELECT COUNT(*) FROM myTable WHERE level='exec' and distributor_id = a.distributor_id) as ExecCount,
          (SELECT COUNT(*) FROM myTable WHERE distributor_id = a.distributor_id) as TotalCount
       FROM myTable a ; 
IF OBJECT_ID (N't1', N'U') IS NOT NULL 
drop table t1

create table t1 (f1 int)


    insert into t1 values (1) 
    insert into t1 values (1) 
    insert into t1 values (2)
    insert into t1 values (2)
    insert into t1 values (2)
    insert into t1 values (3)
    insert into t1 values (3)
    insert into t1 values (3)
    insert into t1 values (3)
    insert into t1 values (4)
    insert into t1 values (4)
    insert into t1 values (4)
    insert into t1 values (4)
    insert into t1 values (4)


SELECT SUM(CASE WHEN f1 = 1 THEN 1 else 0 end),
SUM(CASE WHEN f1 = 2 THEN 1 else 0 end),
SUM(CASE WHEN f1 = 3 THEN 1 else 0 end),
SUM(CASE WHEN f1 = 4 THEN 1 else 0 end)
from t1

SELECT 
(select COUNT(*) from t1 where f1 = 1),
(select COUNT(*) from t1 where f1 = 2),
(select COUNT(*) from t1 where f1 = 3),
(select COUNT(*) from t1 where f1 = 4)
Create clustered index t1f1 on t1(f1);
Update Statistics t1;
SELECT distributor_id,
    COUNT(*) total,
    SUM(level = 'exec') ExecCount,
    SUM(level = 'personal') PersonalCount
FROM yourtable
GROUP BY distributor_id
select 'table1', count (*) from table1
union select 'table2', count (*) from table2
union select 'table3', count (*) from table3
union select 'table4', count (*) from table4
union select 'table5', count (*) from table5
union select 'table6', count (*) from table6
union select 'table7', count (*) from table7;
-------------------
| String  | Count |
-------------------
| table1  | 123   |
| table2  | 234   |
| table3  | 345   |
| table4  | 456   |
| table5  | 567   |
-------------------
SELECT distributor_id,
    COUNT(*) total,
    SUM(case when level = 'exec' then 1 else 0 end) OVER() ExecCount,
    SUM(case when level = 'personal' then 1 else 0 end) OVER () PersonalCount
FROM yourtable
GROUP BY distributor_id