2014-09-24 95 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