1

2 つの日付/時刻フィールドの差が 90 分未満のレコードをフィルター処理する方法を見つけようとしています。

例:

orders.created_at = 2015-08-09 20:30:20
table2.created_at = 2015-08-09 20:09:30

この例に構文がどのように適用されるかはわかりませんが、TimeDiff を使用してみました。

データは、同じ注文情報にリンクしている別々のテーブルから取得されます。目的は、90 分以内に注文が行われたが、3 番目のフィールドが更新されていない例を見つけることです。AND3 番目のフィールドがある結果のみを含めるためのクエリを使用します。NULL

4

2 に答える 2

1
WHERE
thirdfield IS NULL
AND UNIX_TIMESTAMP(orders.created_at) - UNIX_TIMESTAMP(table2.created_at) < 5400

それは両方の方法で機能しますか、それとも「(AB < 5400 AND AB >0) OR (BA <5400 AND BA > 0)」に拡張する必要がありますか?

((UNIX_TIMESTAMP(orders.created_at) - UNIX_TIMESTAMP(table2.created_at) < 5400) 
AND (UNIX_TIMESTAMP(orders.created_at) - UNIX_TIMESTAMP(table2.created_at) > 0)) 
OR ((UNIX_TIMESTAMP(table2.created_at) - UNIX_TIMESTAMP(orders.created_at) < 5400) 
AND (UNIX_TIMESTAMP(table2.created_at) - UNIX_TIMESTAMP(orders.created_at) > 0))
于 2015-10-06T18:19:13.270 に答える