0

次のようなクエリがあります。

SELECT 1 FROM shop_inventory a JOIN shop_items b ON b.id=a.iid AND b.szbid=3362169 AND b.cid=a.cid WHERE a.cid=1 GROUP BY a.bought

このデータで行う必要があるのは、返される行数を計算することだけです(これは、で行うことができますmysqli -> num_rows;。ただし、クエリに一致する行数を返す方法があるかどうかを知りたいのですが、実行するにはnum_rows

たとえば、クエリは1つの行を返し、1つの結果を返す必要がありますnumber_of_rows

これが理にかなっていることを願っています!

4

1 に答える 1

4
select count(*) as `number_of_rows`
from (
    select 1
    from shop_inventory a
    join shop_items b on b.id = a.iid
        and b.szbid = 3362169
        and b.cid = a.cid
    where a.cid = 1
    group by a.bought
) a

この場合、集計関数を使用しておらず、GROUP BY単に重複を排除するだけなので、次のこともできます。

select count(distinct a.bought) as `number_of_rows`
from shop_inventory a
join shop_items b on b.id = a.iid
    and b.szbid = 3362169
    and b.cid = a.cid
于 2012-08-29T15:38:49.450 に答える