2010-08-12 2 views
0

Невозможно получить мою голову вокруг sql для таблицы лидеров в приложении facebook, которое я разрабатываю. Идея заключается в том, что список друзей друзей передается в предложении WHERE (то есть 2,1,3,4 - это идентификаторы некоторых друзей), поэтому таблица лидеров - это список друзей друзей, включая самих себя.проблема с группировкой в ​​sql

Я хочу верхнюю оценку для каждого fb_id и хочу ее в порядке убывания. Я все еще получаю более низкие оценки, чем максимум для определенного fb_id.

SELECT fb_id, score FROM scores WHERE fb_id IN (2,1,3,4) GROUP BY fb_id ORDER BY score DESC; 

ответ

2

Вы могли бы сделать:

SELECT fb_id, MAX(score) FROM scores WHERE fb_id IN (2,1,3,4) GROUP BY fb_id 

Это должно сделать это!

0

Вы должны использовать MAX, и вы не нуждаетесь в ORDER BY пункта:

SELECT fb_id, 
MAX(score) AS 'MaxScore' 
FROM scores 
WHERE fb_id IN (2,1,3,4) 
GROUP BY fb_id 
+0

кажется, что я сделал, чтобы баллы по убыванию – chris

Смежные вопросы