简体   繁体   中英

how to get single row in select count(*) in following query postgresql

select count(*) from ordrer 
inner join ordrelinjer on ordrelinjer.ordrenr = ordrer.ordrenr 
group by ordrelinjer.varetekst

This query return 4 rows, but I want to return 4 in count(*) , how to do so?

You are getting 4 row because of group by. If you need distinct group count, you can try subquery.

select count(*) 
from (
   select count(*) 
   from ordrer 
      inner join ordrelinjer on ordrelinjer.ordrenr=ordrer.ordrenr 
   group by ordrelinjer.varetekst
) t

不带分组调用

select count(*) from ordrer inner join ordrelinjer on ordrelinjer.ordrenr=ordrer.ordrenr 

It seem that you're looking for the distinct number of values for ordrelinjer.varetekst, which would be:

select count(distinct ordrelinjer.varetekst)
from   ordrer 
join   ordrelinjer on ordrelinjer.ordrenr = ordrer.ordrenr;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM