source

일주일보다 새로운 행을 선택하려면 어떻게 해야 합니까?

factcode 2022. 11. 5. 08:57
반응형

일주일보다 새로운 행을 선택하려면 어떻게 해야 합니까?

MariaDB 10을 사용하여 문의드립니다.article지난 주 기사 표:

다음은 질문입니다.

SELECT * FROM article WHERE category="News" AND created_at < NOW() - INTERVAL 1 WEEK ORDER BY created_at DESC;

대신 모든 기사가 반환됩니다.

기사를 설명하다

+-------------+-----------------+------+-----+-------------------+----------------+
| Field       | Type            | Null | Key | Default           | Extra          |
+-------------+-----------------+------+-----+-------------------+----------------+
| id          | int(6) unsigned | NO   | PRI | NULL              | auto_increment |
| title       | varchar(150)    | NO   |     | NULL              |                |
| content     | mediumtext      | NO   |     | NULL              |                |
| created_at  | timestamp       | NO   |     | CURRENT_TIMESTAMP |                |
| category    | varchar(64)     | NO   |     | test              |                |

어떻게 하면 좋을까요?

논리는 거꾸로다.너는 원한다>것은 아니다.<:

SELECT a.*
FROM article a
WHERE category = 'News' AND
      created_at > NOW() - INTERVAL 1 WEEK
ORDER BY created_at DESC;

퍼포먼스를 위해서, 다음의 인덱스를 사용할 필요가 있습니다.article(category, created_at).

언급URL : https://stackoverflow.com/questions/49074785/how-can-i-select-rows-newer-than-a-week

반응형