2013-04-18 75 views
0

我們有一個每日數據源。我需要確定哪些行是新的。 (這是一個很長的故事,但沒有記錄的行數,也不會有任何記錄)。我們需要能夠識別自上次數據饋送以來哪些行是新的。該文件以JSON形式出現,並且我已將其放入MySQL TABLE用於其他目的。MySQL:比較新的兩個表和列表行?

如何獲取昨天的TABLE並將其與今天的TABLE進行比較,並顯示自昨天以來已添加的那些行?所有這些都可以在MySQL中完成,還是需要在PHP的幫助下完成?

如果我在PHP中這樣做,我想我會在昨天的TABLE中搜索今天的TABLE,並且在今天的TABLE中標記(添加的列),當它被找到時稱爲NEW,帶有「N」。 「Y」將是默認的,意味着該行是新的。然後使用MySQL做一個選擇where new =「Y」,這將顯示新的字段。這是怎麼做到的?我可以忽略更好的方法嗎?謝謝!

+0

是否有當一個時間戳列行被添加? – 2013-04-18 06:26:02

+0

如果您在創建數據時有時間存儲數據,則只需執行時間操作即可實現您的目標。 – Dinesh 2013-04-18 06:27:08

+0

來源中沒有時間戳記,只有我從每日Feed下載數據時添加的時間戳記。 – Edward 2013-04-18 06:28:05

回答

1

如果你確實有兩個單獨的表(這是它從你的描述聽起來是怎樣的,但爲奇數),而不是從字面上比較同一個表,你可以

SELECT partnumber FROm Today_table where partnumber not in (select partnumber from Yesterday_table) 
+0

謝謝!我不熟悉使用「不在」。 – Edward 2013-04-18 07:10:10

+0

這只是一種方法,你也可以使用null條件的左連接或「MINUS」(但不在MySQL中) – Scotch 2013-04-18 17:56:15