2013-04-18 77 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