【发布时间】:2015-08-09 09:38:19
【问题描述】:
我有一个表格,可以根据日期存储数据。
现在我需要检查:具有两个不同日期的行的数据之间是否有任何差异。
您可以简单地说,我有两个从同一个表中选择数据的查询,现在我必须比较每一行和每一列的值。例如我的两个查询是 -
SELECT * FROM `national` WHERE `upload_date` = '2015-08-04' // return 106 rows
和
SELECT * FROM `national` WHERE `upload_date` = '2015-08-01' // return 106 rows
我尝试将其与以下查询进行比较,但结果对我来说似乎不正确,我对此并不满意。
Select U.* from
(SELECT t1.* FROM `national` t1 where upload_date = '2015-08-01'
union all
SELECT t2.* FROM `national` t2 WHERE `upload_date` = '2015-08-04' ) U
GROUP BY emp_id, uqi_id
HAVING COUNT(*) = 1
谁能给我正确的查询??谢谢
【问题讨论】:
-
我不确定 MySQL 的方式,但
array_diff()将是您的 PHP 出路 -
是的,这也可能有效,但我认为这将是一个漫长的过程。它可以通过一个 MySQL 查询来完成,我正在寻找它。
-
如果你只需要比较一个日期,不是真的。如果您要比较成千上万,那么是的,它将增加更多的处理时间。我相信它也可以用 MySQL 完成,所以希望你能得到你正在寻找的答案:)
-
感谢@zanderwar 提供的链接,但我已经检查过了。