Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 简单的独立列,我无法理解它_Mysql_Distinct - Fatal编程技术网

Mysql 简单的独立列,我无法理解它

Mysql 简单的独立列,我无法理解它,mysql,distinct,Mysql,Distinct,我有以下疑问 SELECT DISTINCT TITLE, ID, IMAGE_1, IMAGE_1_DESCRIPTION FROM PHOTO_GALLERY ORDER BY ID ASC 当然,它会显示所有条目,但我希望它过滤掉所有具有相同标题字段的条目,只选择最低的ID 我看到有几个问题与这个问题类似,但我似乎无法通过研究这些问题找到问题的答案 提前谢谢 select对from位中的表执行笛卡尔乘积。Where将那些不符合该条款的人剔除。其余的按顺序排列。在混合中是不同的-您得到的第

我有以下疑问

SELECT DISTINCT TITLE, ID, IMAGE_1, IMAGE_1_DESCRIPTION
FROM PHOTO_GALLERY
ORDER BY ID ASC
当然,它会显示所有条目,但我希望它过滤掉所有具有相同标题字段的条目,只选择最低的ID

我看到有几个问题与这个问题类似,但我似乎无法通过研究这些问题找到问题的答案


提前谢谢

select对from位中的表执行笛卡尔乘积。Where将那些不符合该条款的人剔除。其余的按顺序排列。在混合中是不同的-您得到的第一行与下一行不同


因此,在标题上添加where子句,并使用LIMITDistinct为指定的列集返回唯一的行。也许您应该尝试将其用作子查询:

select min(id), title from photo_gallery group by title
你需要一个分组,而不是一个单独的分组。要获取最低id,请执行以下操作:

SELECT TITLE, min(ID) as minid
FROM PHOTO_GALLERY
group by title
ORDER BY minID ASC
要获取其余信息,您需要重新加入表。以下是具有显式联接的版本:

SELECT pg.TITLE, pg.ID, pg.IMAGE_1, pg.IMAGE_1_DESCRIPTION
FROM PHOTO_GALLERY pg join
     (SELECT TITLE, min(ID) as minid
      FROM PHOTO_GALLERY
      group by title
     ) pgt
     on pg.title = pgt.title and pg.id = pgt.minid
ORDER BY ID ASC

哇!那是个伟大的人!我真的很感激。这听起来是一件很简单的事情,但我没有;I don’我的脑子里没有以前那么复杂了。非常感谢你的帮助!