Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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
Sql server 在SQL Server中插入查询_Sql Server_Apriori - Fatal编程技术网

Sql server 在SQL Server中插入查询

Sql server 在SQL Server中插入查询,sql-server,apriori,Sql Server,Apriori,我有这个表TAB ID | Trans ------------ 1 | 99 2 | 99 3 | 99 2 | 90 4 | 22 4 | 22 2 | 99 2 | 90 我想得到一个id中同时出现的trans的计数,例如整个表中的“1有90&99”和“2有90&99”,因此计数为2。这类似于Apriori算法的第三步 我试过了,但没用- select count(trans) from Tab where trans = 99 &

我有这个表
TAB

ID | Trans
------------
1  | 99
2  | 99
3  | 99
2  | 90
4  | 22
4  | 22
2  | 99
2  | 90
我想得到一个id中同时出现的trans的计数,例如整个表中的“1有90&99”和“2有90&99”,因此计数为2。这类似于Apriori算法的第三步

我试过了,但没用-

select 
    count(trans) 
from 
    Tab 
where 
    trans = 99 & 90  
group by 
    ID 
having 
    ID = 2
我期望Trans-90和99的ans是

Trans1 | Trans2 |支架 ------------

90 | 99 | 1


我还想将其插入一个新表。

如果我正确理解了您的问题,您可以使用
SUM(CASE WHEN…END)
进行此操作:

DECLARE 
    @trans1 INT = 99,
    @trans2 INT = 90

SELECT
    ID,
    PairCount =
        CASE 
            WHEN SUM(CASE WHEN Trans = @trans1 THEN 1 ELSE 0 END) >= SUM(CASE WHEN Trans = @trans2 THEN 1 ELSE 0 END)
                THEN SUM(CASE WHEN Trans = @trans2 THEN 1 ELSE 0 END)
            ELSE SUM(CASE WHEN Trans = @trans1 THEN 1 ELSE 0 END)
        END,
    Trans1 = SUM(CASE WHEN Trans = @trans1 THEN 1 ELSE 0 END),
    Trans2 = SUM(CASE WHEN Trans = @trans2 THEN 1 ELSE 0 END)
FROM DS
WHERE Trans IN (@trans1, @trans2)
GROUP BY ID
结果

ID          PairCount   Trans1      Trans2
----------- ----------- ----------- -----------
1           0           1           0
2           2           2           2
3           0           1           0

预期的结果是什么?请尝试为您的问题找到一个更合适的标题。据我所见,它与插入无关。为什么是“插入查询”?在任何地方都看不到
INSERT
。。我是这里唯一一个完全不理解这个问题的人吗?@Jens:为什么ID应该是唯一的?这可能是另一个表的外键(例如1:many关系)。