我的SQL查询:
SELECT
TO_CHAR(se2.ID) S_ID,
TO_CHAR(se2.file_name) S_NAME,
TO_CHAR(pl.pid) P_ID,
count (*) COUNTER
FROM
pl
join po on po.id = pl.po_id
join ppl on po.fk_product_id = ppl.fk_product
join se on se.id = po.fk_product_id
join se2 on se2.id = ppl.fk_parent
WHERE
pl.project_id = 227739470
GROUP BY se2.ID, se2.file_name, pl.pid
返回16行,但每个结果行中count(*)为1! 我想得到每个结果行中所有行的数量。 问题是什么?
答案 0 :(得分:7)
如果您希望每一行都有一个包含总行数的列,请使用:
count(*) over () total_rows
您不需要使用分组,因为这是分析函数,而不是聚合函数。