У меня есть этот запрос, который возвращает разные столбцы и количество столбцов. он работает отлично.sql select columns, count и sum count
SELECT DISTINCT w.title, w.date ,COUNT(f.fid) AS f_count , GROUP_CONCAT(name)
FROM Faculty f
INNER JOIN Attend a ON a.fid = f.fid
INNER JOIN Workshop w ON w.wid = a.wid
WHERE f.did = 1
GROUP BY w.title
ORDER BY w.wid
В дополнение к этим полям я также хочу вернуть SUM столбца f_count. Я пытался использовать вложенные запросы, как это:
SELECT title, date,f_count ,names,COUNT(f_count) AS total_f
FROM (SELECT DISTINCT w.title AS title, w.date AS date,COUNT(f.fid) AS f_count , GROUP_CONCAT(name) AS names
FROM Faculty f
INNER JOIN Attend a ON a.fid = f.fid
INNER JOIN Workshop w ON w.wid = a.wid
WHERE f.did = 1
GROUP BY w.title
ORDER BY w.wid) AS total_fac
сумма будет возвращать правильное значение, но я только получить одну строку из внутреннего запроса. Я знаю, что IN и ANY возвращают несколько строк из подзапросов, но я не вижу, как я могу использовать его в моем случае.
Мой вопрос: Как я могу получить все строки + СУММУ COUNT?
Я рассмотрел другие вопросы здесь, но не нашел то, что искал.
Вы 'группы by'ing на один столбец, поэтому сумма графа будет числом всех строк, которые будут возвращены, если ему не было там, я правильно? –
Мне нужно, чтобы GROUP By, чтобы выбрать различные значения. Если я удалю GROUP BY, запрос вернет избыточные значения. – Alsmayer