У меня есть две таблицы SQL.SQL: как выбрать что-то, используя информацию из другой таблицы
В первой таблице, каждая строка (среди других полей, которые не имеют отношения к вопросу) в score
и category_id
полевых
Вторая таблица (categories
) представляет собой таблицу со списком всех возможных категорий, к которой элемент в первой таблице может принадлежать.
Я хотел бы сделать следующий SQL запрос:
SELECT category_name, (???) AS category_score
FROM categories
ORDER BY category_score DESC
где ???
= the sum of the scores of all the elements in table 1 that belong to the category
.
Спасибо за ответ, я не знаю, о 'группе by', я буду смотреть на него. Просто быстрый вопрос, хотя, я не получаю 'ORDER BY 2 DESC' часть? Почему это не «GROUP BY category_score DESC», например? –
@Malimalo Предложение 'group by' разбивает результат на группы, так что агрегированные функции (например,' sum') могут применяться к каждому уникальному значению 'category_name' независимо. Как только это будет сделано, результат все равно необходимо отсортировать, что делается с помощью инструкции 'order by'. – Mureinik
Спасибо за ваш ответ, это был фактически '2' в' порядке', который я не получил. Но я сделал то, что должен был сделать, прежде чем спрашивать, погубил его и получил свой ответ (что это означало «порядок по второму элементу линии выбора») очень быстро. Спасибо за помощь ;) –