如何在单个查询中使用count和limit选择postgres中的数据

时间:2012-10-08 12:02:19

标签: sql postgresql postgresql-9.1 psql

包含格式为

的数据的PostgreSQL表

表名是tbl1 TBL1

id -- RCODE -- CCODE -- LDATA
1     123      50        p1
2     124      51        p2
3     126      50        p3

....................... ......... .....

23     116      56        p3
24     126      50        p9
25     126      50        p3
26     136      56        p5
27     126      50        p3
28     146      52        p7

我的问题是如何从CCODE =50

的数据库的最后7条记录中查找RCODE =126的计数

2 个答案:

答案 0 :(得分:1)

使用子查询生成一个中间表a,其中包含具有RCODE = 126 的数据库的最后7条记录。然后在COUNT上运行WHERE CCODE=50。查询:

SELECT COUNT(*)
FROM (
    SELECT CCODE
    FROM tbl1
    WHERE RCODE = 126
    ORDER BY id DESC LIMIT 7
) AS a
WHERE CCODE = 50

答案 1 :(得分:0)

select count(*) as total
from (
    select CCODE
    from tbl1
    where RCODE = 126
    order by id desc
    limit 7
    ) s
where CCODE = 50