2014-09-24 96 views
0

我有products表格,其中包含所有正在出售或准备出售的产品。如何根据时间戳获取数据表格数据库

这里是表模式

CREATE TABLE `products` (
    `Product_Name` varchar(255) DEFAULT NULL, 
    `Product_Status` int(11) DEFAULT NULL, 
    `Sell_date` timestamp NULL DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

SET FOREIGN_KEY_CHECKS = 1; 

每当一个产品被卖了它的地位变得1

我想要获得昨天售出的所有产品。如何在sql查询中执行此操作。

Select Product_Name from products where status = 1 and Sell_date = ?? 

我的问题是怎么回去一整天或timestampN天数。

+1

在你的问题上使用谷歌搜索会给你一个解决方案。请参阅 - http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html例如。 'SELECT DATE_SUB('2014-08-09',INTERVAL 1 DAY);' – Murtaza 2014-09-24 12:43:41

回答

1

对于在$ N最后的日子里所售产品:用于preticular。减去时间间隔从给定日期

SELECT 
    Product_Name 
FROM products 
    WHERE status = 1 
    AND TIMESTAMPDIFF(DAY, `Sell_date`, NOW()) <= $N 
0
SELECT Product_Name 
FROM products WHERE status = 1 and Sell_date = DATE_SUB(Sell_date, INTERVAL 1 DAY) 

DATE_SUB功能我认为这会帮助你。

+0

这不会返回任何东西,因为这会从sell_date中减去一天,并以与今天相同的时间间隔返回前一天,我们可能不一定在前一天有相同的时间间隔。 – Sajjad 2014-09-24 13:55:58