ここにいる人が探していたようなものを探しています。MySQL を使いたいだけです。以下の表は、私のデータベースにあるものです (簡略化されています)。
+------+------+------+------+
| id | name | first| last |
+------+------+------+------+
| 1 | John | 1020 | 0814 |
| 2 | Ram | 0827 | 0420 |
| 3 | Jack | 0506 | 0120 |
| 4 | Jill | 0405 | 0220 |
| 5 | Zara | 1201 | 1219 |
+------+------+------+------+
まず、エントリは id 4 ではなくランダムである必要があり、必要なエントリは 1 つだけです。私はそれを解決しました:SELECT * FROM test WHERE id <> 4 ORDER BY rand() LIMIT 1
.
この表では、列「first」と「last」は mmdd (両方とも整数) としてフォーマットされた日付です。したがって、John は 1 年のほとんどの時間、対応可能です。10月20日から8月14日まで。一方、Zara は短期間しか利用できません。12月1日から12月19日まで。
私の質問: 利用可能な人のみを選択するようにクエリを変更するにはどうすればよいですか? ジョンの場合、1020 と 0814 の間には何もないため、「between」は使用できません。
私はそれを理解することはできません.同様の問題を抱えている他の人がいるに違いありません.誰かが解決策を持っていますか?
敬具