MySQL: вернуть количество отдельных строк группы - PullRequest
0 голосов
/ 19 октября 2019

У меня проблемы с объединением функции подсчета / группировки с отдельной функцией. В моей базе данных у меня есть таблица (BurgerOrders) с OrderID и BurgerId (который является типом Burger).

Заказ может содержать несколько бургеров, он может содержать 3 бургера одного и того же бургера или 3 разных бургера. Я пытаюсь выяснить, как подсчитать DISTINCT бургеры. Я могу подсчитать общее количество гамбургеров в любом порядке, но не могу понять, как рассчитать только количество отдельных гамбургеров.

Ниже приведен запрос, который я пробовал, который не работает из-за неверного синтаксиса, но, надеюсь, дает представление о том, что я пытаюсь сделать.

SELECT orderId, COUNT(*)
FROM BurgerOrders
GROUP BY orderId
HAVING DISTINCT burgerId;

Я знаю, что этопоследняя строка, которая вызывает ошибку. Я не уверен, возможно ли использовать один запрос или подзапрос необходим.

Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 19 октября 2019

Я думаю, что вы ищете что-то вроде этого:

SELECT orderId, COUNT(DISTINCT burgerId) 
FROM BurgerOrders 
GROUP BY orderId;

Синтаксис HAVING требует условия, см., Например, здесь: https://www.w3schools.com/sql/sql_having.asp

...