1
以内に期限切れアカウントはどうすればよいアカウントがMariaDBはmax()
有効期限のオフに基づいて、30日で有効期限が切れるように設定されている使用してのみSELECT
レコードの?MariaDB SELECTのみのためのすべてのレコードが30日
何ないSELECT
へ:今日は2017年12月7日で、アカウントの下に「」絶対にレコードが「」を持つアカウントに返されるべきではない、その後2018年の6月1日の最大有効期限を持っている場合このテーブルでもに今日の日付よりも古いアカウント "a"の行が含まれているかどうかにかかわらず、希望のSELECT
クエリ;アカウント「B」は、2本の記録を持っており、それがmax()
レコードが30日未満であるのです。選択する必要がありますどのような
行id
4は、希望のSELECT
クエリから返される行はとなります。
+----+---------+------------+
| id | account | expiration |
+----+---------+------------+
| 1 | a | 2017-01-01 |
| 2 | a | 2018-06-01 |
| 3 | b | 2017-01-01 |
| 4 | b | 2018-01-01 |
+----+---------+------------+
私の最も厳格なテストが最終的に失敗しても、私は様々な面でこれに少しの時間を費やしてきました。
SELECT DATEDIFF(STR_TO_DATE(expiration, '%Y-%m-%d'),CURDATE()) AS days_left FROM table;
これが私の最初のテストで良いですね!食事といくつかのテストの後、私はそれを受け入れるでしょう。ただ、私はHAVINGを見たことがないからです。 – John
「HAVING」についてのチュートリアルを読んで、自分の直接テストを見ると、これが正解として受け入れられていると言えるでしょう。ありがとうございました! :-) – John