1

以下のクエリがあります:

select count(*) c , id 
from hr 
where  time >= '2011-11-8 00:00:00' and 
       time <= '2011-12-9 23:59:59' 
group by id 
having c>3;

結果リストは非常に大きくなる可能性があります(最大10,000アイテムになることもあります)。合計数だけを取得したいので、すべてをリストする必要はありません。「selectfound_rows()」とは別に、リストを出力せずにジョブを実行するために1つのSQL文を見つけようとしています。(私はPerl、PHP、またはその他のAPIを使用しておらず、SQLのみを使用しています)

何か案が?

前もって感謝します。

ヤン

4

2 に答える 2

1

サブクエリでラップし、レコードを再度カウントします

SELECT COUNT(*) totalCount
FROM
(
    select count(*) c , id 
    from hr 
    where  time >= '2011-11-8 00:00:00' and 
           time <= '2011-12-9 23:59:59' 
    group by id 
    having COUNT(*) > 3
) x
于 2012-08-03T00:27:44.447 に答える
0
SELECT COUNT(*) FROM (SELECT id, COUNT(*) c FROM hr WHERE time >= '2011-11-8 00:00:00' AND time <= '2011-12-9 23:59:59' GROUP BY id) counts WHERE counts.c > 3;
于 2012-08-03T00:28:50.183 に答える