假设在表A中有许多行的列值是A、b、c、d。
其中,我想要10行列值为“c”,同时还要计算列值为“c”的行总数。
我试过:

select count(*),* from A where column like 'c'; (without limit)

select count(*),* from A where column like 'c' limit 10;

这可能吗?或者我不得不提出两个问题。

最佳答案

SELECT n.*, AA.cnt
FROM nei_product_background_category c
    INNER JOIN nei_backgrounds n ON n.background_id = c.background_id
    INNER JOIN (
        SELECT cc.product_id, COUNT(*) AS cnt
        FROM nei_product_background_category cc
                    INNER JOIN nei_backgrounds nn ON nn.background_id = cc.background_id
        GROUP BY cc.product_id
    ) AA ON c.product_id = AA.product_id
WHERE
    c.product_id = 578
LIMIT 10

关于mysql - 使用相同的查询获取行总数和行数限制的行总数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14923200/

10-11 11:54