选择具有更多填充字段的记录

时间:2014-10-06 21:32:17

标签: mysql group-by duplicates

我的数据库中有2条记录,如下所示:

id | name      | photos

1  | test name | http://www.photo.com/1.jpg

2  | test name | null

这两个记录是相同的,除了1有一张照片而另一张没有。我可以使用以下查询进行选择时删除它:

SELECT * FROM table WHERE name = 'test name' GROUP BY name;

这给了我一条单曲,但我想用照片返回一行。我可以对此查询做些什么来实现这一目标?

注意:我不能假设至少有一个副本会有照片。有时它们都可能为空,所以我不能使用:

SELECT * FROM table WHERE name = 'test name' AND photos IS NOT NULL GROUP BY name;

1 个答案:

答案 0 :(得分:1)

SELECT name, max(photos) as photos
FROM table 
GROUP BY name;