これまで数時間かけて遊んできましたが、今まで成功していませんでした。MySQLクエリ内でColdFusion DateDiffを使用していますか?
非常に大きなクエリを出力し、データを処理する前にそれをチャンクに分割しようとしています。このクエリは基本的に毎日実行され、同じデータが1日に1回以上処理されないようにフィールド( 'last_checked')の1つが使用されます。
これは私の既存のクエリです。
<cfquery name="getprice" maxrows="100">
SELECT ID, source, last_checked, price
FROM product_prices
WHERE source='api'
ORDER BY ID ASC
</cfquery>
次に、さまざまな更新を行うために結果に対してcfoutputクエリを実行します。このテーブルは現在10万レコードを超えており、1回のヒットですべてを処理するために苦労し始めているため、それを複数の塊に分割する必要があります。
私の意図は、毎回実行するようにcfscheduleすることです(私はmaxrowsを増やし、おそらく15分ごとに実行させます)。しかし、私は過去24時間以内に更新されていない結果しか返さないようにする必要があります。これは私が立ち往生しているところです。
MySQLは独自のDateDiffとTimeDiff関数を持っていることは知っていますが、私はその構文を理解することができないようです - 実際には私の使用に当てはまる場合(ドキュメントはそれに関して矛盾しているようです - 少なくとも私が読んだもので)。
非常に参考になりました!
ありがとうエリック、私はあなたが入力したとおりに貼り付けましたが、それは私に構文エラーを与えています。私はINTERVALを前に出会ったことはありません。イベントの作成に関連して見つけることができる唯一の例があるので、どこから始めたらいいですか? – Lee
HOURSではなくHOURに変更してください。 –
@JakeFeasel - ありがとうございます! – Eric