我有我有生日,年齡位置和分數的表,並且我想檢索兩個日期之間創建的記錄數,其中分數不爲空並且沒有時間戳記領域。在mysql數據庫中創建記錄的日期
如果沒有時間戳字段,我該怎麼做。
有沒有元數據,如果是,我該如何運行查詢?
我有我有生日,年齡位置和分數的表,並且我想檢索兩個日期之間創建的記錄數,其中分數不爲空並且沒有時間戳記領域。在mysql數據庫中創建記錄的日期
如果沒有時間戳字段,我該怎麼做。
有沒有元數據,如果是,我該如何運行查詢?
嘗試這樣的查詢:
SELECT COUNT(*)
FROM TABLE_NAME
WHERE BIRTHDATE BETWEEN 'DATE1' AND 'DATE2'
AND SCORE IS NOT NULL AND TIMESTAMP IS NULL;
列timestamp
添加到現有的表,默認值爲NULL
,並查詢上述說法,它應該工作。 無論何時添加一列到已有記錄的表中,對於現有記錄,新列的相應值都是空白的。
:如何添加使用查詢的時間戳列,以便它會自動存儲記錄創建時的日期?我的意思是如果有任何查詢更新新列的表屬性? – user1706989
你可以使用'ALTER TABLE'來添加列 - http://www.techonthenet.com/sql/tables/alter_table.php –
並且爲了更新表格,使用'INSERT'和'timestamp'作爲NOW() '。所以例如。 'INSERT INTO TABLE_NAME VALUES('20120420',25,'New York,NOW());' –
時間戳添加到您的表
雖然這是非常好的建議,但它對錶中已有的數據無濟於事。 – andrewsi
是的,在這種情況下,你是對的 – 2012-10-02 18:40:40
@Muhammet嗯,這是一個很好的建議,我應該爲未來的解決方案添加時間戳,但作爲@安德魯說什麼數據已經在表 – user1706989
其他用戶已經注意到了。
因爲在數據庫中沒有日期參考字段,所以不能提取匹配一個或兩個日期之間的記錄。
從這裏開始,最好的辦法是添加一個日期字段,然後確保數據寫入數據庫時,使用插入日期/日期時間。有幾種不同的方式來實現它,但這可能是最簡單的:
mysql_query("
INSERT INTO users (first, last, whenadded)
VALUES ('$first', '$last', now())
";
不,不能完成。你需要保存輸入的日期。 – j08691