Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在T-SQL语句中找到Apriori关联?_C#_Sql Server_Tsql_Apriori - Fatal编程技术网

C# 如何在T-SQL语句中找到Apriori关联?

C# 如何在T-SQL语句中找到Apriori关联?,c#,sql-server,tsql,apriori,C#,Sql Server,Tsql,Apriori,数据库: Transaction ProductID 1 1000 2 1000 2 1001 3 1000 3 1002 4 1000 4 1001 5 1003 在上表中,如何使用T-SQL语句查找此结果 +-------------+-----------+---

数据库:

Transaction  ProductID
 1              1000
 2              1000
 2              1001 
 3              1000
 3              1002
 4              1000
 4              1001
 5              1003
在上表中,如何使用T-SQL语句查找此结果

+-------------+-----------+-----------------+
| PRODUCTID1  | PRODUCTID2|     SUPPORT     |
+-------------+-----------+-----------------+
|      1000   |   1001    |         2       |
+-------------+-----------+-----------------+
|      1000   |   1002    |         1       |
+-------------+-----------+-----------------+
|      1000   |   1003    |         0       |
+-------------+-----------+-----------------+
|      1001   |   1002    |         0       |
+-------------+-----------+-----------------+
|      1001   |   1003    |         0       |
+-------------+-----------+-----------------+
|      1002   |   1003    |         0       |,
+-------------+-----------+-----------------+
测试表:

create table transactions(
   ORDERID    INT,
   PRODUCTID INT
);

insert into transactions(ORDERID, PRODUCTID)
values ('1', '1000')
      ,('2', '1000')
      ,('2', '1001')
      ,('3', '1000')
      ,('3', '1002')
      ,('4', '1000')
      ,('4', '1001'),
       ('5', '1003');

提前谢谢。

你能推断出零吗?i、 我们能不能说没有列出的东西都是零?如果是:

select t1.PRODUCTID as [PRODUCTID1], t2.PRODUCTID as [PRODUCTID2],
       COUNT(1) as [SUPPORT]
from transactions t1 inner join transactions t2
  on t1.ORDERID = t2.ORDERID
  and t1.PRODUCTID < t2.PRODUCTID
group by t1.PRODUCTID, t2.PRODUCTID

我还想知道一件事。如何找到这个3的组合。根据您的结果(第一排);{100010011002}和{100010011003}@wide-您可以尝试使用相同的模式在第二个连接中进行重击-但它开始变得混乱。确实,您需要给出具体的数据示例来检查结果(目前没有跨越3个事务)是的,但示例数据集喜欢我的大数据库结构。我的数据库包含2,3,4个产品,它们一起销售。我不知道怎么做。我正在实现Apriori算法。@marc_s:Apriori是OP想要使用的算法的名称:
PRODUCTID1  PRODUCTID2  SUPPORT
----------- ----------- -----------
1000        1001        2
1000        1002        1