その他のためwhere
でorder by
を正しく交換しました
私はSQLでクエリを作成しようとしている出力のすべてのレコードは、特定の日付範囲内に ます:クエリが、私は、クエリの別の部分を議論したいです。
これは明らかではないかもしれませんが、データの「精度」がその日付範囲をどのように達成するのに最適かに影響します。 、あなたのデータが第2(またはミリ秒)に正確であるしかし、もし
2017/02/24
2017/02/25
2017/02/26
2017/02/27
2017/02/28
あなたの異なった結果が得られます。たとえば、あなたのデータは日付だけに正確であるならば、WHERE products.date >= '2017/02/25' AND products.date <= '2017/02/27'
またはWHERE products.date BETWEEN '2017/02/25' AND '2017/02/27'
は以下のわずか3つの太字の行を選択しますちょうど2大胆な行
2017/02/24 12:13:14
2017/02/25 12:13:14
2017/02/26 12:13:14
2017/02/27 12:13:14
2017/02/28 12:13:14
範囲がbetwen使用しない日付や組み合わせについて正確であると> =と< =(間には> =と< =のための単なるショートカットです)。代わりにこれを使用します。
LESS THAN(大きな日付+ 1)を使用して
SELECT `Item`.`Item`, `products`.`date`
FROM `Item`
LEFT JOIN `products` ON `products`.`ItemCode` = `Item`.`ItemCode`
WHERE `products`.`date` >= '2017/02/25' AND `products`.`date` < '2017/02/28'
2017/02/24 12:13:14
2017/02/25 12:13:14
2017/02/26 12:13:14
2017/02/27 12:13:14 this is less than '2017/02/28'
2017/02/28 12:13:14
は関係なく、日付/時刻の範囲の正確な結果を得る格納されたデータの日付/時刻の精度を保証しません。
タグ使用している特定の種類のSQL:MySQL、PostgreSQLなど? – treyhakanson
あなたのクエリは、バッククォートのためMySQLが非常にはっきりしているので、MySQLでタグ付けする必要があります。常にdbmsのタイプを指定してください –