如何从SELECT DISTINCT查询中获取所有列?

时间:2013-09-25 16:32:31

标签: mysql pdo distinct

我正在使用PDO和MySQL。

我想从给定表中选择给定列中具有不同值的所有行,但SELECT DISTINCT column_name FROM table返回仅包含该列的行。因此,我无法访问其他行的列。

我一直在寻找答案,看起来SELECT DISTINCT column_name FROM table应该返回列在column_name 中的所有行以及所有行的列的所有行。但是,我只得到了我想要的专栏:

Array
    (
        [image] => leather_helmet.jpg
        // there are supposed to be more fields here...
    )

这可能是PDO的错误还是我做错了什么?

提前致谢! :)

1 个答案:

答案 0 :(得分:1)

如果只想要1列不同,则必须考虑其他列所需的记录。例如,如果您喜欢distinct列的min id记录,那么您可以执行

SELECT * 
FROM armor_unsealed
WHERE id IN 
(
   SELECT min(id) 
   FROM armor_unsealed
   WHERE piece=:piece 
   GROUP BY image 
)'