0

次の構造のmysqlテーブルがあります。すべてのレコードは静的で読み取り専用であり、CSVからインポートされているため、すべての年、月、日は、作成したとおりに正しい順序になっています。(いいえ、この表のID列は、年、月、日ごとのデータにしかアクセスしないためです)

mysql table 'daily'
year month day  data
1990  01    01  xxxxxxxxxxxxx
1990  01    02  eeeeeeeeeeeee
1990  01    03  rrrrrrrrrrrrr
1990  01    04  ttttttttttttt
.
.
.

これで、次のように単純なselectステートメントでレコードにアクセスできます。

select * where year=1990 and month=1 and day=03 limit 1

しかし、クエリ行+ 3または任意の数の隣接する行(クエリ行の前または後)を選択するにはどうすればよいですか?そして、もっと良い解決策があれば、IDを使いたくありません。

4

1 に答える 1

1

DATE年、月、日の個別の列ではなく、タイプを使用することを検討します。次にDATEADD、および関連する関数を使用して、目的の日を見つけることができます。

http://dev.mysql.com/doc/refman/5.1/en/datetime.html

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

于 2012-05-25T03:59:31.163 に答える