SELECT中的SQL WHERE语句?

SELECT中的SQL WHERE语句?,sql,database,group-by,count,pivot,Sql,Database,Group By,Count,Pivot,所以我尝试输出两列,它们调用相同的特性。除1列外,我希望值的计数小于5,另一列我希望值的计数大于5 SELECT COUNT (col_a) FROM table WHERE col_a < 5 这就是你如何得到第一个 但我想知道如何组合这两个查询。比如: SELECT COUNT(col_a WHERE col_a < 5) AS col_1, COUNT(col_a WHERE col_a > 5) AS col_2 FROM table 有什么想

所以我尝试输出两列,它们调用相同的特性。除1列外,我希望值的计数小于5,另一列我希望值的计数大于5

SELECT COUNT (col_a) FROM table WHERE col_a < 5
这就是你如何得到第一个

但我想知道如何组合这两个查询。比如:

SELECT 
    COUNT(col_a WHERE col_a < 5) AS col_1, 
    COUNT(col_a WHERE col_a > 5) AS col_2 
FROM table
有什么想法吗?

试试这个

SELECT (
    SELECT COUNT(*)
    FROM table
    WHERE col_a < 5
)
, (
    SELECT COUNT(*)
    FROM table
    WHERE col_a < 5
)
试试这个

SELECT (
    SELECT COUNT(*)
    FROM table
    WHERE col_a < 5
)
, (
    SELECT COUNT(*)
    FROM table
    WHERE col_a < 5
)

您正在寻找条件聚合:

SELECT 
     SUM(CASE WHEN col_a < 5 THEN 1 ELSE 0 END) AS col_1, 
     SUM(CASE WHEN col_a > 5 THEN 1 ELSE 0 END) AS col_2 
FROM mytable
在MySQL中:

SELECT 
     SUM(col_a < 5) AS col_1, 
     SUM(col_a > 5) AS col_2 
FROM mytable

您正在寻找条件聚合:

SELECT 
     SUM(CASE WHEN col_a < 5 THEN 1 ELSE 0 END) AS col_1, 
     SUM(CASE WHEN col_a > 5 THEN 1 ELSE 0 END) AS col_2 
FROM mytable
在MySQL中:

SELECT 
     SUM(col_a < 5) AS col_1, 
     SUM(col_a > 5) AS col_2 
FROM mytable