注意:这个问题对“学位”有一个模棱两可的概念。我已经得到了答案。
这些天来,我正在努力解决如下问题:您不能使用某种编程语言编写函数;仅使用 RAW SQL。
给定一个articles
包含 2 列的表:article_id
和tag_name
article_id | tag_name
---------------------------
1 C++
1 java
1 python
2 ruby
2 js
3 ruby
4 java
4 python
和一个名为“tag_relations”的空表,其结构如下:
tag1 | tag2 | degree
-----------------------------------
现在,问题来了:
- 根据第一个表的内容编写“RAW SQL”以将值写入表“tag_relations”。
对于给定的数据,输出应该是这样的(我不确定学位是多少,问题也没有提到,所以,戈登·林诺夫和乔纳森·莱夫勒的答案对我来说都是正确的。):
tag1 | tag2 | degree
-----------------------------------
java C++ 2
java python 4
ruby js 2
更新的附加信息
注意1.这里的“程度”没有被问题描述。但是我认为这是衡量 2 个标签之间关系的指标。因为有 'java' 和 'C++' 的值:
article_id | tag_name
---------------------------
1 C++
1 java
所以度数 = 2
对于“java”和“python”
article_id | tag_name
---------------------------
1 java
1 python
4 java
4 python
所以度数 = 4
注意2:
没有学位记录:'python'和'C++',(我的意思是这个问题不涉及这种情况degree < 2
)(编辑注意:此评论与在输出中包含C++和Java不一致。 )
我在这个问题上花了一天时间,并回顾了我对 SQL 的了解,但仍然不知道如何存储变量或循环记录。
任何想法将不胜感激!