Table 1:Domain Link Result
======================================================================
||Column1(words) ||Column2(links) ||Column3(frequency) ||
======================================================================
1 1 Any Number
2 1 Any Number
3 1 Any Number
4 1 Any Number
1 2 Any Number
2 2 Any Number
3 2 Any Number
4 2 Any Number
Table 2:Sub Link Result
======================================================================
||Column1(words) ||Column2(sublinks) ||Column3(frequency) ||
======================================================================
1 a Any Number
2 b Any Number
3 c Any Number
4 d Any Number
1 e Any Number
2 f Any Number
3 g Any Number
4 h Any Number
And so on.
在上述场景中,用户输入了4个单词和2个域链接。现在,4个关键字的频率计算在域链接以及子链接上,并存储在单独的表中,如上所示。我想要一个总的结果如下图所示:如何在单个查询中的单个行中显示单个字段的多个值?
Table 3:Final Result
==================================================================================
||Column1(words) ||Column2(Domain links) ||Column3(Total frequency) ||
==================================================================================
Row1: 1 1 Total of frequency in both tables
2 for word "1"
----------------------------------------------------------------------------------
Row2: 2 1 Total of frequency in both tables
2 for word "2"
----------------------------------------------------------------------------------
Row3: 3 1 Total of frequency in both tables
2 for word "3"
----------------------------------------------------------------------------------
Row4: 4 1 Total of frequency in both tables
2 for word "4"
----------------------------------------------------------------------------------
我试着在MySQL以下查询:
SELECT t.`keyword`, t.`link` SUM(t.`frequency`) AS total
FROM (
SELECT `frequency`
FROM `domain_link_result`
WHERE `keyword` = 'national'
UNION ALL
SELECT `frequency`
FROM `sub_link_result`
WHERE `keyword` = 'national'
)t GROUP BY `keyword`
但在最终结果的第2栏我得到的,而不是只有第一个链接的两个环节为行1 。我怎样才能得到用户输入的单个链接或任意数量的链接?
字和链接有VARCHAR
作为类型和频率有INT
类型。
在最终结果的第2列中,我在使用您的方法后获取了Sub Links而不是Domain Links。有没有什么办法可以只从子查询结果中选择域链接? – SilentAssassin 2013-03-27 06:46:28
我更新了答案,检查它是否有帮助。 – bgusach 2013-03-27 07:36:10
“SUM”函数的第二个参数有语法错误。 “SUM”函数可以给出两个这样的参数吗? – SilentAssassin 2013-03-28 06:13:23