いくつかの列を持つテーブルがあるとします
-conversation_id,
-col2,
-ユーザーID。
user_id に対応するすべての行を取得したいと考えています。たとえば、特定の 20 行が返される可能性がありますが、一意の conversation_id 値は 3 つしかありません。
これらの値を取得するには、それぞれを調べて一意の値を見つけるのではなく、どのような方法が最も速いでしょうか?
私は言わなければなりません、私はPHPでこれを意味します!
ありがとう!!
あなたはこれを試すことができます
select distinct conservation_id,user_id
from table
group by user_id
DISTINCT キーワードは、結果セットから一意の項目のみを選択するために使用されます。
たとえば zend の場合:
$db->select()->distinct('u.conversation_id')->from(array('u'=>'user'))->where('u.user_id = ?',$user_id);
SELECT DISTINCT conversation_id FROM conversations WHERE user_id = userID
$query = "SELECT DISTINCT conversation_id
FROM conversations
WHERE user_id='2'";
SELECT conversation_id, user_id
FROM conversations
GROUP BY user_id, conversation_id