У меня есть простая таблица. Один столбец с переменной, которую я хочу суммировать или подсчитать, а другой с категорией. Я попробовал это:
SELECT COUNT(*) AS counted, category
FROM mytable
GROUP BY category
ORDER BY counted DESC;
Без ORDER BY counted DESC
это работает, однако это не отсортировано. Хотелось бы увидеть максимум сразу, так что сортируй по убыванию. Однако, когда он запускается, появляется сообщение и просит меня ввести значение для count. Почему я не могу сделать это за один шаг, почему это не работает?
То же самое для суммы:
SELECT sum(variable) AS calcsum, category
FROM mytable
GROUP BY category
ORDER BY calcsum DESC;
Кроме того, у меня та же проблема или похожая, когда я пытаюсь сделать это в один шаг с объединением. У меня есть одна таблица с предоставленными идентификаторами (переменная называется ключами). Другая таблица с идентификаторами, категорией, переменной фильтра и оценкой. Я хочу, чтобы сумма баллов по категориям и сортировать ее по убыванию. Пока у меня есть:
SELECT SUM(score) AS calcsum, category
FROM (
SELECT keys, category, filter, score INTO newdataset
FROM table1 INNER JOIN table2 ON table1.keys=table2.ID
WHERE table2.filter="Value")
GROUP BY category;
И я подумал еще раз добавить: ORDER BY calcsum DESC
Однако даже без добавления ORDER BY я получаю сообщение об ошибке "Запрос действия не может быть используется в качестве источника строки ". Так в чем здесь моя ошибка?