count对sql有什么影响

时间:2014-08-25 17:18:30

标签: mysql sql count

以下语句应返回所有字段,count位是如此,我知道有多少 外键有。

 SELECT a.date
      , a.area
      , a.operator
      , a.course
      , pa.rate
      , pa.notes
      , pa.productid
      , COUNT(pa.id) num
      , pa.id appliedid 
   FROM applications a
   JOIN productsapplied pa
     ON a.id = pa.applicationId 
  WHERE a.id = ?

计数返回正确的数字,但结果只包含一批数据。

如果我使用完全相同的语句但没有count,则结果包含两个数据(在我的特定示例上测试

SELECT a.date
     , a.area
     , a.operator
     , a.course
     , pa.rate
     , pa.notes
     , pa.productid
     , pa.id appliedid 
  FROM applications a
  JOIN productsapplied pa
    ON a.id = pa.applicationId 
 WHERE a.id = ?

任何帮助,我不确定计数为何会产生这种影响。

1 个答案:

答案 0 :(得分:0)

COUNT()是一个聚合函数。 (聚合函数将多个行“组合”为一个值,聚合值作为单行返回。)

如果没有COUNT()子句,则在SELECT列表中的表达式中包含GROUP BY聚合的查询将返回单行。

要返回多行,要获得多个COUNT()值,您需要在查询中添加GROUP BY子句。