1

私は単純なものが欠けているという直感を持っているので、それがばかげた質問である場合は申し訳ありませんが、ここで答えを見つけることができませんでした.

データベースを使用動作で扱っています。ユーザーごとに 1 つの行があり、日付と時間 (およびその他の関連しない情報) が含まれています。

1 日あたりの訪問数と一定時間以上の訪問数のヒストグラムを出力したいと思います。理想的には、1 つのクエリでそれを実行したいと考えています。

今のところ、次の 2 つのクエリがあります。

SELECT DATE(date), COUNT(date) AS Number_of_users FROM users GROUP BY DATE(date)
SELECT DATE(date), COUNT(date) AS Number_of_stayers FROM users WHERE timespent>5 GROUP BY DATE(date)

それらを組み合わせて、次の形式で結果を取得するにはどうすればよいですか。

date        users       stayers
2014-01-01  21          5
2014-01-02  13          0

助けてくれてありがとう!

4

2 に答える 2

1

これは機能するか、少なくとも JOIN を使用する基本的な考え方を示しているはずです。

SELECT DATE(a.date), 
    COUNT(a.date) AS Number_of_users, 
    COUNT(b.date) AS Number_of_stayers 
FROM users a 
LEFT JOIN users b ON (a.date = b.date AND b.timespent>5)
于 2014-06-26T09:44:27.693 に答える