반응형
MariaDB 30일 이내에 만료되는 계정의 모든 레코드를 선택합니다.
어떻게 해야 하나요? SELECTMariaDB를 사용한 레코드의 어카운트가 30일 이내에 만료되도록 설정되어 있는 경우max()유통기한?
주의사항: 오늘이 2017년 12월 7일이고 계정 "a"의 최대 만료일이 2018년 6월 1일 미만인 경우 원하는 계정 "a"에 대한 기록은 절대 반환되지 않습니다.SELECT이 테이블에도 오늘 날짜보다 오래된 계정 "a" 행이 포함되어 있는지 여부에 관계없이 쿼리합니다.
선택해야 할 항목: 계정 "b"에는 2개의 레코드가 있으며, 이 레코드는max()레코드는 30일 미만입니다.행id4는 원하는 행에서 반환되는 행입니다.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 accountSQL에 있습니다. - 특정 계정만 보여주려고 합니다. 즉,
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 |