0

失敗したテストの数を 1 か月間毎日表示する簡単なレポートを生成しようとしています。それを行うSQLクエリを書く方法はありますか? 日付を変更してクエリを実行するのではなく? これは私がやっていることです:

select count (*) from students where Message Like 'Failed Test.%'
and Timestamp > '01-01-2013' and Timestamp < '01-02-2013'

したがって、上記のクエリではカウント 5 が返されます。次に、日付を 01-01 から 01-02 に変更し、翌日のカウントなどを取得します。しかし、これは非常に時間がかかるようです。それを行うためのより良い方法があるかどうかを確認するだけです。

4

1 に答える 1

1

これにより、1 か月の日付範囲で日ごとにグループ化されたカウントが得られます。

select cast(timestamp as date) as [Date], count (*) as NumFailedTests
from students 
where Message Like 'Failed Test.%'
and Timestamp between '2013-01-01' and '2013-01-31'
group by cast(timestamp as date)
order by cast(timestamp as date)

明らかに日付範囲を広げることができます...

[うまくいけば、'timestamp' 列は実際にはタイムスタンプではありません...]

于 2013-02-07T15:25:45.943 に答える