首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示mysql特定月份的数据?

问如何显示mysql特定月份的数据?
EN

Stack Overflow用户
提问于 2015-09-10 06:18:15
回答 4查看 82关注 0票数 4

​

代码语言:javascript
复制
$query = mysql_query(
         "SELECT id, BuyerName,BuyerEmail,TransactionID,DateTime FROM `order`
         WHERE DateTime="2015 AND 08""; LIMIT $start, $per_page"
         ) 
or die(mysql_error());

​

我试图通过查询来显示特定的月份和年份。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-10 06:21:48

您可以使用MySQL的内置YEAR和MONTH函数,如:

代码语言:javascript
复制
SELECT `id`, `BuyerName`,`BuyerEmail`,`TransactionID`,`DateTime`   
FROM `order` WHERE YEAR(DATE(`DateTime`))=2015 AND MONTH(DATE(`DateTime`)) = 8
票数 2
EN

Stack Overflow用户

发布于 2015-09-10 06:22:11

如果您的列具有date的数据类型,则可以以Sargable的方式为您的条件使用日期范围。

代码语言:javascript
复制
SELECT id, BuyerName,BuyerEmail,TransactionID,DateTime
 FROM `order` 
WHERE DateTime >='01-08-2015' 
AND  DateTime <= '31-08-2015'

对于datetime,您可以将它写成

代码语言:javascript
复制
SELECT id, BuyerName,BuyerEmail,TransactionID,DateTime
 FROM `order` 
WHERE DateTime >='01-08-2015 00:00:00' 
AND  DateTime <= '31-08-2015 23:59:59'
票数 0
EN

Stack Overflow用户

发布于 2015-09-10 06:26:21

如果列的类型为datetime,则尝试如下

代码语言:javascript
复制
$query = mysql_query("
    SELECT id, BuyerName, BuyerEmail, TransactionID, `DateTime` 
    FROM `order` 
    WHERE YEAR(DATE(`DateTime`)) = 2015 AND MONTH(DATE(`DateTime`)) = 8
    LIMIT $start, $per_page
") or die(mysql_error());

或者简单的

代码语言:javascript
复制
$query = mysql_query("
    SELECT id, BuyerName, BuyerEmail, TransactionID, `DateTime` 
    FROM `order` 
    WHERE `DateTime` LIKE '2015-08-%'
    LIMIT $start, $per_page
") or die(mysql_error());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32494502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档