2014-03-13 2 views
0

У меня есть следующие запросыЕсть ли способ объединить различные запросы MYSQL с несколькими предложениями WHERE?

$queryrs12c = "SELECT COUNT(*) total, SUM(goals) as sumgoals, SUM(assists) as sumassists, SUM(minutes) as summinutes FROM `player` WHERE season='12' AND gametype='club' "; 

$queryrs11c = "SELECT COUNT(*) total, SUM(goals) as sumgoals, SUM(assists) as sumassists, SUM(minutes) as summinutes FROM `player` WHERE season='11' AND gametype='club' "; 

$queryrs10c = "SELECT COUNT(*) total, SUM(goals) as sumgoals, SUM(assists) as sumassists, SUM(minutes) as summinutes FROM `player` WHERE season='10' AND gametype='club' "; 

т.д.

У меня этот запрос в 12 раз на велосипеде через 1-12

мне взять результаты каждого запроса через петлю для генерации 12 таблицы данные.

Есть ли способ объединить все 12 запросов, но при этом сохранить способность генерировать 12 таблиц данных?

(12 запросов, кажется, не много, но у меня есть другие наборы подобных запросов, один с 10 запросов, один с 12 и один с 13 и Есть так много переменных, которые я должен перебрать.)

+0

'GROUP BY season' – SLaks

ответ

1

Вы должны использовать предложение GROUP BY, которое позволит вам использовать агрегатные функции, такие как SUM() для каждого варианта столбца, по которому вы группируетесь. В вашем случае, это может выглядеть следующим образом:

SELECT 
    season, 
    COUNT(*) AS total, 
    SUM(goals) AS sumgoals, 
    SUM(assists) AS sumassists, 
    SUM(minutes) AS summinutes 
FROM `player` 
WHERE gametype='club' 
GROUP BY season 
ORDER BY season DESC /* or ASC whichever you wish */ 
+0

Мне и моему мозгу! Я использовал GROUP BY для другой вещи и не думал использовать его для этого ... Я попробую это позже –

1
SELECT 
    season, 
    COUNT(*) total, 
    SUM(goals) as sumgoals, 
    SUM(assists) as sumassists, 
    SUM(minutes) as summinutes 
FROM `player` 
WHERE season between 1 and 12 
AND gametype='club' 
GROUP BY season 
+0

Если это отвечает на ваш вопрос, то вы должны принять этот ответ (первый) или другой. –

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