mysql查询和while循环创建一个特殊的字符串

时间:2014-08-12 05:13:59

标签: php mysql sql

我正在开展一个项目,我需要完成这样的特殊任务。

我有一个sql查询,它获取评论帖子的所有用户ID,然后我使用mysql_fetch_array和while循环来创建这样的用户的逗号分隔ID字符串。

如果任何帖子上的用户ID分别为1和4以及5和18以及88,那么我得到的字符串就像1,4,5,18,88。

但问题是,如果任何人发表了不止一条评论,那么他/她的身份再次被添加,我不希望这样。

与用户一样:

1,4,5,4,1,15

得到:

1,4,5,4,1,15

但我想:

1,4,5,15

我不想要重复。

我尝试了什么:

select id from table where comment !=''
mysql_fetch_array()
while (){
   // now joining the ids of commenters here but not duplicate ids
} 

2 个答案:

答案 0 :(得分:2)

试试此代码

SELECT DISTINCT id FROM tablename WHERE  comment !='' ORDER BY id

它将为您提供表格中的独特ID

答案 1 :(得分:1)

使用group_concat,您甚至不需要循环。单个查询就可以完成。

select group_concat(distinct id) from table where comment !=''