GVKun编程网logo

php – 比较两个sql表(sql比较两个表的数据)

9

本文将介绍php–比较两个sql表的详细情况,特别是关于sql比较两个表的数据的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Java比较两个Str

本文将介绍php – 比较两个sql表的详细情况,特别是关于sql比较两个表的数据的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Java比较两个String字符串数组、mysql - Php有没有办法比较两个时间的年月日是否相等、mysql – 使用SQL比较两个表中的标识符计数、MySQL比较两个日期时间字段的知识。

本文目录一览:

php – 比较两个sql表(sql比较两个表的数据)

php – 比较两个sql表(sql比较两个表的数据)

我有两个表,一个带有文本字符串,另一个带有单词.

enter image description here

如何获取表A中的每个字符串/行,并查看表A中表A中每个字符串包含多少个“单词” – 得到如下结果:

表A.
id:1包含表B中的2个单词(car,red)
id:2包含来自表B的2个单词(house,hill)
id:3包含表B中的0个单词
id:4包含来自表B的2个单词(小,鞋)

解决方法

<?PHP
// Get $TableA from TableA and $TableB from Table B (std code)

$result = array();
foreach ($TableA as $id => $string) {
    $result[$id] = array();
    $words = explode(' ',$string);
    foreach ($words as $word) {
        if (in_array($word,$TableB)) {
            $result[$id][] = $word;  
        }
    }
}

// - display $result - left as exercise!

Java比较两个String字符串数组

Java比较两个String字符串数组

比较两个String字符串数组元素差异

1、工具类

package io.renren.common.utils;

import org.apache.commons.lang3.ArrayUtils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @program: ivvdata-security
 * @description: 比较两个新旧String类型数组
 * @author: HYJ
 * @create: 2019-11-08 11:13
 */
public class CompareStringArrayUtil {

    /**
     * @param oldArr 旧数组
     * @param newArr 新数组
     * @return Map 包含两个数组,相较于旧数组,新数组多了哪些元素,以及少了哪些元素
     */
    public static Map<String, String[]> compareStringArray(String[] oldArr, String[] newArr) {
        List<String> addList = new ArrayList<>();
        List<String> deleteList = new ArrayList<>();

        for (String anOldArr : oldArr) {
            if (!ArrayUtils.contains(newArr, anOldArr)) {
                deleteList.add(anOldArr);
            }
        }

        for (String aNewArr : newArr) {
            if (!ArrayUtils.contains(oldArr, aNewArr)) {
                addList.add(aNewArr);
            }
        }

        String[] addArr = addList.toArray(new String[addList.size()]);
        String[] deleteArr = deleteList.toArray(new String[deleteList.size()]);
        Map<String, String[]> res = new HashMap<>();
        res.put("addArr", addArr);
        res.put("deleteArr", deleteArr);
        return res;
    }

}

2、执行调用方法

public static void main(String[] args) {
        String[] oldArr = {"1","2"};
        String[] newArr = {"1","3","4"};
        Map<String, String[]> res = CompareStringArrayUtil.CompareStringArray(oldArr, newArr);
        System.out.println("deleteArr: "+ Arrays.toString(res.get("deleteArr")));
        System.out.println("addArr: "+ Arrays.toString(res.get("addArr")));   
 }

3、运行结果

deleteArr: [2]
addArr: [3, 4]

本文转载链接:https://blog.csdn.net/Mr_EvanChen/article/details/80669079

mysql - Php有没有办法比较两个时间的年月日是否相等

mysql - Php有没有办法比较两个时间的年月日是否相等

我数据库存的可能包含时分秒的时间戳,现在有一个时间只有年 月 日 需要进行对比 如果相等的话就查询出来,哪位大神指导一下怎么判断 查询,万分感谢。

回复内容:

我数据库存的可能包含时分秒的时间戳,现在有一个时间只有年 月 日 需要进行对比 如果相等的话就查询出来,哪位大神指导一下怎么判断 查询,万分感谢。

方法还是有挺多种的,但是我看你需求,应该是需要模糊查询,我就讲一种比较好理解的吧
1.把只有"年-月-日"的时间使用sorttime函数转换成时间戳,这样你就得到当天0点的时间了time1;
2.仍然使用sorttime函数得到+1的时间,或者直接加上1天的总秒数也行,变量名time2,这样就有2个时间节点了
3.使用between查询,这样就能得到当天的所有数据了
=========如果我理解错了,指正一下,我再改=========

介绍两种方式,推荐第一种

  • 只要年月日相等,则意思是查询某天范围内的数据,自己主动控制时间范围,例如查询''2016-10-28''的数据

    立即学习“PHP免费学习笔记(深入)”;

$st = strtotime("2016-10-28");
$et = strtotime("2016-10-28 23:59:59");
select * from table where date_field between $st and $et
登录后复制
  • 直接用 mysql 内置函数 FROM_UNIXTIME(date_field, ''%Y%m%d'')

select * from table where FROM_UNIXTIME(date_field,''%Y%m%d'') ="2016-10-28"
登录后复制

下面是保存字段为datetime格式的sql

select * from table where date_field between "2016-10-28" and "2016-10-28 23:59:59"
登录后复制
select * from table where DATE_FORMAT(date_field , ''%Y%m%d'') ="2016-10-28"
登录后复制

如果数据库里的日期格式一样的话通过MySQL的substr函数截取到日再做比较

楼主的问题其实就是:
根据时间字段查询某一天(比如2016年10月28日)的数据:

<?php $min = strtotime(''2016-10-28'');
$max = strtotime(''2016-10-29'');
echo "select * from t where time >= $min and time = 1477584000 and time 
<p>如果时间字段time存储的不是时间戳,而是date(''YmdHis'')格式的数据,则可以这样:</p>
<pre>select * from t where time &gt;= 20161028000000 and time 
登录后复制

mysql – 使用SQL比较两个表中的标识符计数

mysql – 使用SQL比较两个表中的标识符计数

我正在尝试构建一个查询,比较两个具有相同结构的表

Table 1:
ID | Data 

Table 2:
ID | Data

ID是一个非唯一键(数据是可重复的,但ID |数据组合是唯一的).我需要一个ID列表,其中表2中这些ID的COUNT大于表1中的ID.

例如,如果

Table 1
a | data
a | data1    
b | data2

Table 2
a | data
a | data1
b | data2
b | data3

会产生输出“b”

这感觉应该很容易,但我的脑袋现在已经乱了.如果影响选项,我在MysqL中这样做.

最佳答案
要获得每个密钥的计数,

select count(*) as count,ID from Table1 group by ID

因此,将其用作from子句中的子查询,并加入表.

select tt1.ID
from (select count(*) as count,ID from Table1 group by ID) tt1
  inner join (select count(*) as count,ID from Table2 group by ID) tt2
     on tt1.ID = tt2.ID
where tt1.count < tt2.count

MySQL比较两个日期时间字段

MySQL比较两个日期时间字段

我想比较两个日期和时间,我想要所有结果 from tbl where date1 > date2

Select * From temp where mydate > ''2009-06-29 04:00:44'';

但这只是比较日期而不是时间。它给了我今天日期的所有结果集

''2009-06-29 11:08:57''''2009-06-29 11:14:35''''2009-06-29 11:12:38''''2009-06-29 11:37:48''''2009-06-29 11:52:17''''2009-06-29 12:12:50''''2009-06-29 12:13:38''''2009-06-29 12:19:24''''2009-06-29 12:27:25''''2009-06-29 12:28:49''''2009-06-29 12:35:54''''2009-06-29 12:36:54''''2009-06-29 12:49:57''''2009-06-29 12:58:04''''2009-06-29 04:13:20''''2009-06-29 04:56:19''''2009-06-29 05:00:23''''2009-06-29 05:04:26''''2009-06-29 05:08:17''''2009-06-29 05:26:57''''2009-06-29 05:29:06''''2009-06-29 05:32:11''''2009-06-29 05:52:07''

提前致谢!

答案1

小编典典

您要显示的查询示例:

SELECT * FROM temp WHERE mydate > ''2009-06-29 16:00:44'';

04:00:00是4AM,所以您显示的所有结果都 之后 ,这是正确的。

如果要在下午4点之后显示所有内容,则需要在查询中使用正确的(24hr)表示法。

为了使事情更清晰,请尝试以下操作:

SELECT mydate, DATE_FORMAT(mydate, ''%r'') FROM temp;

这将向您显示日期及其12小时时间。

今天的关于php – 比较两个sql表sql比较两个表的数据的分享已经结束,谢谢您的关注,如果想了解更多关于Java比较两个String字符串数组、mysql - Php有没有办法比较两个时间的年月日是否相等、mysql – 使用SQL比较两个表中的标识符计数、MySQL比较两个日期时间字段的相关知识,请在本站进行查询。

本文标签: