【问题标题】:Get unique values of a SQL column获取 SQL 列的唯一值
【发布时间】:2012-10-20 13:22:43
【问题描述】:

假设我有一个包含一些列的表格

-conversation_id,

-col2,

-用户 ID。

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

获取这些值的最快方法是什么,而不是逐个检查并找出唯一的值?

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

谢谢!!

【问题讨论】:

  • 请澄清您的问题。表结构、示例数据和示例输出会有所帮助。

标签: php sql unique


【解决方案1】:
$query = "SELECT DISTINCT conversation_id 
          FROM conversations 
          WHERE user_id='2'";

【讨论】:

  • 我认为这可能有效。快速提问,这将如何与 Zend 一起工作?像这样的东西可以吗? $this->fetchAll($this->select()->where('user_id =?',$user_id)->distinct('conversation_id')); ?
  • 我从未使用过 zend.. 抱歉,但我无法为您提供帮助.. 您应该尝试一下,看看它是否有效..
【解决方案2】:
SELECT conversation_id, user_id
      FROM conversations
      GROUP BY user_id, conversation_id

【讨论】:

    【解决方案3】:

    你可以试试这个

    select distinct conservation_id,user_id
    from table 
    group by user_id
    

    【讨论】:

      【解决方案4】:
      SELECT DISTINCT conversation_id FROM conversations WHERE user_id = userID
      

      Get distinct record from table using zend functions?

      【讨论】:

        【解决方案5】:

        DISTINCT 关键字用于从结果集中仅选择唯一项。

        在zend的情况下为ex:

        $db->select()->distinct('u.conversation_id')->from(array('u'=>'user'))->where('u.user_id = ?',$user_id );

        【讨论】:

          猜你喜欢
          • 2021-04-25
          • 1970-01-01
          • 1970-01-01
          • 2019-03-19
          • 1970-01-01
          • 1970-01-01
          • 2021-03-14
          • 1970-01-01
          • 2011-02-10
          相关资源
          最近更新 更多