반응형
MariaDB 30일 이내에 만료되는 계정의 모든 레코드를 선택합니다.
어떻게 해야 하나요? SELECT
MariaDB를 사용한 레코드의 어카운트가 30일 이내에 만료되도록 설정되어 있는 경우max()
유통기한?
주의사항: 오늘이 2017년 12월 7일이고 계정 "a"의 최대 만료일이 2018년 6월 1일 미만인 경우 원하는 계정 "a"에 대한 기록은 절대 반환되지 않습니다.SELECT
이 테이블에도 오늘 날짜보다 오래된 계정 "a" 행이 포함되어 있는지 여부에 관계없이 쿼리합니다.
선택해야 할 항목: 계정 "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;
- 당신은 이미 당신이 원하는 것을 알아챘다.
MAX
. - 너는 원한다
MAX
어카운트 단위로 환산하면GROUP BY account
SQL에 있습니다. - 특정 계정만 보여주려고 합니다. 즉,
MAX
특정 날짜 범위 내에 있습니다.집계에 관한 기준은HAVING
절을 클릭합니다.
이 때문에,
select account
from mytable
group by account
having max(expiration) between current_date and current_date + interval 30 day;
언급URL : https://stackoverflow.com/questions/47750595/mariadb-select-all-records-for-only-accounts-expiring-within-30-days
반응형
'source' 카테고리의 다른 글
Java는 불량 데이터에 대한 예외를 발생시키지 않는 int.tryparse를 가지고 있습니까? (0) | 2022.10.25 |
---|---|
자바에서 패키지 이름을 포함한 현재 클래스 이름을 가져오려면 어떻게 해야 합니까? (0) | 2022.10.25 |
목록 뷰 getList하위 게시 항목에서 ItemXmlAttributes 메서드가 실패함 (0) | 2022.10.25 |
마리아 DB가 시작을 거부 (0) | 2022.10.25 |
DB에 연결하지 않고 mysql_real_escape_string 대신 사용할 수 있습니다. (0) | 2022.10.25 |