繁体   English   中英

如何获取行数作为列

[英]How to get row count as column

所以我有这样的查询

SELECT DISTINCT colB FROM tbl WHERE colA = "foo" LIMIT 0, 20

这给我一个最大数组 colA匹配"foo" 20条记录,但没有重复记录。 每个数组条目都包含一个包含colB值的关联数组,例如

0 => array(
       'colB' => 'some_value',
     ),
1 => array(
       'colB' => 'other_value',
     )

我还可以获取COUNT()作为colB值吗? 我的意思是:

SELECT COUNT() as cbCount FROM tbl WHERE colA = "foo" AND colB = "some_value"
SELECT COUNT() as cbCount FROM tbl WHERE colA = "foo" AND colB = "other_value"

但是作为另一个数组字段包含在第一个查询中,例如:

0 => array(
       'colB' => 'some_value',
       'cbCount' => 5,
     ),
1 => array(
       'colB' => 'other_value',
       'cbCount' => 2,
     )

您需要做的就是使用GROUP BY子句

SELECT  colB,
        COUNT(colB) AS cbCount
FROM    tableName
WHERE   colA = 'Foo'
GROUP   BY colB

您需要将“ Group By依据”与“ Count配合使用-

SELECT 
        colB, count(colB) as cbCount
FROM    
        tbl 
WHERE  
        colA = 'foo' 
GROUP BY 
        colB 
LIMIT 
        0, 20

该查询将获取前20行,根据colB的不同值对它们进行colB并给出计数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM