首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检索no of评论?

如何检索no of评论?
EN

Stack Overflow用户
提问于 2013-01-10 11:58:05
回答 2查看 67关注 0票数 1
代码语言:javascript
复制
items table(the users will select and store into mysql

itemID | name   | item 
1      | Mary   | pants, jeans
2      | John   | jacket, shirt
3      | Jack   | jacket, shirt

description table 

descID | item         
1      | jacket, shirt
2      | pants, jeans  
3      | dress, jeans 

comment table (retrieve the no of comments made)
commentId| item          | comment
1        | jacket        | great
2        | jacket        | nice
3        | jeans         | comfortable

如何从注释表示例中检索评论数。它应该检索2。

到目前为止,我有这个SQL语句:

代码语言:javascript
复制
SELECT DISTINCT(COUNT(comment)) AS comment
FROM comment co
INNER JOIN item i
WHERE co.item = i.item; 
EN

回答 2

Stack Overflow用户

发布于 2013-01-10 13:41:58

您应该使用外键来关联表,而不是文本字符串。答案是修复您的表设计。

看起来你想在用户和项目之间建立一种多对多关系。这需要另一个表来存储多对多关联。

用户:

代码语言:javascript
复制
ID     | name
1      | Mary
2      | John
3      | Jack

项目:

代码语言:javascript
复制
ID     | description         
1      | jacket
2      | pants  
3      | dress
4      | shirt
5      | jeans

UserItemAssoc:

代码语言:javascript
复制
UserID | ItemID
1      | 2
1      | 5
2      | 1
2      | 4
3      | 1
3      | 4

评论:

代码语言:javascript
复制
ID       | itemID        | comment
1        | 1             | great
2        | 1             | nice
3        | 5             | comfortable

然后,您的查询将是:

代码语言:javascript
复制
select count(distinct c.ID) from 
Users as u JOIN UserItemAssoc as uaa on (u.id = uaa.userID)
JOIN Items as i on (i.ID = uaa.itemID)
JOIN Comments as c on (c.itemID = i.ID)
WHERE u.Name = 'John'
票数 1
EN

Stack Overflow用户

发布于 2013-01-10 13:20:57

试试这个:

代码语言:javascript
复制
SELECT COUNT(DISTINCT c.comment) AS commentCount 
FROM comment c 
INNER JOIN item i ON FIND_IN_SET(c.item, i.item) 
WHERE i.name = 'John';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14250614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档