sql >> Database teknologi >  >> RDS >> Mysql

Mysql returnerer kun én række ved brug af Count

Ja, antallet er en aggregeret operator, hvilket gør, at kun én række returneres (uden en gruppe efter klausul)

Måske lave to separate forespørgsler? Det giver ikke mening at få rækken til at returnere dataene og det samlede antal rækker, fordi disse data ikke hører sammen.

Hvis du virkelig virkelig ønsker det, kan du gøre sådan noget:

SELECT *, (select count(*) FROM notis WHERE cid=20) AS count FROM notis WHERE cid=20 ORDER BY nid DESC LIMIT 0,3

eller dette:

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

Med varianser på det indlejrede udtryk afhængigt af din SQL-dialekt.



  1. Find lignende billeder i (ren) PHP / MySQL

  2. Sidder fast i fejl 2 med mysql ved hjælp af XAMPP

  3. Find duplikerede poster i en kolonne

  4. Hvordan ændres mysql til mysqli?