以下语句应返回所有字段,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 = ?
任何帮助,我不确定计数为何会产生这种影响。
答案 0 :(得分:0)
COUNT()
是一个聚合函数。 (聚合函数将多个行“组合”为一个值,聚合值作为单行返回。)
如果没有COUNT()
子句,则在SELECT列表中的表达式中包含GROUP BY
聚合的查询将返回单行。
要返回多行,要获得多个COUNT()
值,您需要在查询中添加GROUP BY
子句。