2014-10-06 46 views
0

我有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; 

这给了我1分的纪录,但我希望返回一行的照片。我能做些什么来实现这个查询?

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

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

回答

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