2012-10-31 106 views
1

说我有一些列的表作为获得一个SQL列的唯一值

-conversation_id,

-col2,

-user_id。

我想抓取与user_id对应的所有行。例如,可以有20行返回特定的值,但只有3个唯一的conversation_id值。

获取这些值的最快方法是什么,而不是通过每一个值来找出唯一的值?

我必须说,我的意思是在PHP中!

谢谢!

+0

请澄清一下您的问题。表格结构,样本数据和样本输出将有所帮助。 – dpp

回答

0
$query = "SELECT DISTINCT conversation_id 
      FROM conversations 
      WHERE user_id='2'"; 
+0

我认为这可能有效。快速的问题,这将如何与Zend合作?像这样的工作可以吗? $ this-> fetchAll($ this-> select() - > where('user_id =?',$ user_id) - > distinct('conversation_id')); ? – user1083320

+0

我从来没有与zend合作..对不起,但我无法帮助你..你应该尝试一下,看看它是否有效。 –

0
SELECT conversation_id, user_id 
     FROM conversations 
     GROUP BY user_id, conversation_id 
0

你可以试试这个

select distinct conservation_id,user_id 
from table 
group by user_id 
0

DISTINCT关键字用来选择从结果集只有唯一项目。

在壳体的Zend例如:

$ DB->的select() - >不同的( 'u.conversation_id') - >从(阵列( 'U'=> '用户')) - > where('u.user_id =?',$ user_id);