我正在使用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的错误还是我做错了什么?
提前致谢! :)
答案 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
)'