0
私は同じ日付の出現回数を数えている私のプログラムでルーチンを改善しようとしています。 そのため、おそらく例:今、私は基本的に同じ日に出現またはサブクエリの混乱を集計する
2012-03-21 20
2012-03-20 13
2012-03-19 50
を落下エントリのヒストグラムを生成したい
SELECT date(time, 'unixepoch') FROM reviewHistory
WHERE lastInterval <= 21 AND nextInterval > 21
:
Time Other_stuff Entry
1332334357 .....
1332334367 .....
1332334386 .....
今まで私のようなステートメントを使用しました
など。しかし、私はこれを行う簡単な方法は見当たらないので、SELECT DISTINCTを実行してこれらの値を保存し、条件付きの各エントリごとにクエリを実行し、行数を確認すると考えました。処理時間とI/Oアクセス時間は節約できましたが、これを実現するステートメントを見つけることができませんでした。私はこれがうまくいくと思ったが、そうではない。例:
SELECT time FROM reviewHistory WHERE
(SELECT date(time, 'unixepoch') FROM reviewHistory
WHERE lastInterval <= 21 AND nextInterval > 21) = "2012-03-21"
は、エラーはありませんが、それはまた、何も返さないと、私はこれは私がいくつかのSQLiteの文で達成することができ、アプリケーション側を管理する必要はありません何かであることをかなり確信して感じます。
更新:私がそれを投稿した後、ちょうど私に来た。私はまだSQLの集計問題を達成するためのより優雅な方法があると信じたいと思っています。
私はあなたの質問を理解しますが、すべての日付とカウントを取得する場合は、1つのクエリが十分なものでなければならないか分からないSELECT time FROM
(SELECT date(time, 'unixepoch') AS time
FROM reviewHistory WHERE lastInterval <= 21 AND nextInterval > 21)
WHERE time = "2012-03-21"
ああ美しいです。それはまさに私があなたに感謝したいと思っていたものです。私はそれを読んでいたときにCOUNT(*)がどのように使われたのか誤解していたと思います。 – Jeremy