【问题标题】:Selecting unique records from mysql with considering only one field只考虑一个字段从 mysql 中选择唯一记录
【发布时间】:2012-11-15 04:49:38
【问题描述】:

我的问题可能没有反映我的问题,起初很抱歉。我有一个问题,我需要从表中选择不同的电影名称,同时选择它的 id 和其他记录。但由于每部电影的 id 不同,因此选择了所有电影(具有相同的名称)。这是查询:

    $sql = "
            SELECT DISTINCT
                movie_id,movie_name
            FROM
                tbl_current_movies as cm, tbl_movie_hall as mh
            WHERE
                movie_active = 'active'
            AND
                cm.hall_id = mh.hall_id
        ";

$res = $this->db->returnArrayOfObject($sql,$pgin = 'no');

    var_dump($res);

var_dump($res) 说:

array
  0 => 
    object(stdClass)[48]
      public 'movie_id' => string '1' (length=1)
      public 'movie_name' => string 'MIB' (length=12)
  1 => 
    object(stdClass)[49]
      public 'movie_id' => string '2' (length=1)
      public 'movie_name' => string 'Jetuka Pator Dare' (length=17)
  2 => 
    object(stdClass)[50]
      public 'movie_id' => string '3' (length=1)
      public 'movie_name' => string 'MIB' (length=12)

所以你可以看到电影 MIB 显示了两次,但我只想获得电影 MIB 一次的结果!

【问题讨论】:

  • 那你想要哪个movie_id? 1 还是 3?

标签: php mysql select


【解决方案1】:

将您的查询更改为:

 $sql = "SELECT movie_id , movie_name
         FROM tbl_current_movies as cm 
         LEFT JOIN  tbl_movie_hall mh ON cm.hall_id = mh.hall_id
         WHERE movie_active = 'active'
         GROUP BY movie_name
        ";

你不应该在 WHERE 子句中加入你的表,如果你对 JOIN 不满意,你可以阅读一些文档:http://dev.mysql.com/doc/refman/5.0/en/join.html 这应该有助于您了解它们的用途。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多