mysql - 在sql中使用select子句获取记录的问题
问题描述
我正在尝试获取特定日期范围内且具有特定标题的记录
为此,我使用以下查询
SELECT * FROM `table_name`
WHERE `page_title` = 'Surfshark Review: Should we Surf the Internet Ocean with this VPN? (2019)'
AND STR_TO_DATE(`datetime`, '%Y-%m-%d')
BETWEEN STR_TO_DATE('2019-09-16', '%Y-%m-%d')
AND STR_TO_DATE('2019-09-22', '%Y-%m-%d');
当我使用此查询时,它给我 null 没有任何错误,但是当我使用以下查询时
SELECT `page_title`
FROM `table_name`
WHERE STR_TO_DATE(`datetime`, '%Y-%m-%d')
BETWEEN STR_TO_DATE('2019-09-16', '%Y-%m-%d')
AND STR_TO_DATE('2019-09-22', '%Y-%m-%d')
GROUP BY `page_title`;
它向我展示了记录中的“Surfshark 评论:我们应该使用这个 VPN 冲浪互联网海洋吗?(2019 年)”,我不知道为什么会发生这种情况。
任何人都可以帮我解决这个问题。
解决方案
您的查询没有任何问题。在严格的情况下看起来不错……或者可能是数据问题。
如果你这样工作。
SELECT....
FROM ....
WHERE ( column like "%xxx%" ) -- a condition
OR
(
col_date BETWEEN "xxxx-xx-xx" AND "xxxx-xx-xx" -- a condition
AND anothercondition -- a condition
and anothercondition -- a condition
)
添加括号并更改 AND/OR 运算符和 between 会有所不同。
如需更多点击,您可以为关键字搜索制作动态脚本。您可以使用编程来生成这部分查询。
(column like "%word%"
OR column like "%anotherword%"
OR column like "%anotherword%" )
推荐阅读
- angular - 从服务器获取数据并将其添加到局部变量以供将来在 json 中使用
- javascript - 类型错误:button.classList 未定义
- node.js - GET http://localhost:3000/ 404(未找到),实际上是在调用 POST 但得到 GET
- sql-server - 如何将 SQL Server 数据库放在 DVD 上
- javascript - Fetch API 无法加载 URL 方案对于 CORS 请求必须是“http”或“https”
- java - 运行 Jar 时出现 NoClassDefFoundError
- image-processing - 根据图片从数据库中查找相似图片
- html - 背景图像自动调整大小
- imdb - 如何将 imdb id 转换为 tmdb id?
- angular - Angular Typscript 选择绑定选择和更改