Ano, počet je agregační operátor, který vrací pouze jeden řádek (bez skupiny podle klauzule)
Možná položit dva samostatné dotazy? Nemá smysl, aby řádek vracel data a celkový počet řádků, protože tato data k sobě nepatří.
Pokud to opravdu chcete, můžete udělat něco takového:
SELECT *, (select count(*) FROM notis WHERE cid=20) AS count FROM notis WHERE cid=20 ORDER BY nid DESC LIMIT 0,3
nebo toto:
SELECT N.*, C.total from notis N join (select count(*) total FROM notis WHERE cid=20) C WHERE cid=20) AS count FROM notis WHERE cid=20 ORDER BY nid DESC LIMIT 0,3
S odchylkami ve vnořeném výrazu v závislosti na vašem dialektu SQL.