question révisée
Table: Shops P>
+------------+--------------+ | shop | item | quantity | +------------+--------------+ | 0 | 0 | 1 | | 0 | 1 | 2 | | 0 | 2 | 3 | | 1 | 0 | 1 | | 1 | 1 | 2 | | 1 | 2 | 3 | | 2 | 0 | 1 | | 2 | 1 | 2 | | 2 | 2 | 3 | | 3 | 0 | 1 | | 3 | 1 | 2 | | 3 | 2 | 3 | +------------+--------------+ SELECT state,SUM(i.quantity) total FROM shops s2 LEFT JOIN items i ON i.shop=s2.shopid WHERE state=5 GROUP by item result #1: +--------+---------+ | state | total | +--------+---------+ | 5 | 3 | +--------+---------+ | 5 | 6 | +--------+---------+ | 5 | 9 | +--------+---------+ But I would like the totals, like this: result #2: +--------+---------+---------+----------+ | state | total 0 | total 1 | total 2 | +--------+---------+---------+----------+ | 5 | 3 | 6 | 9 | +--------+---------+---------+----------+ or using group_concat() result #3 +--------+---------+ | state | totals | +--------+---------+ | 5 | 3,6,9 | +--------+---------+
3 Réponses :
Changement: à p> - p>
Merci pour votre réponse rapide, c'était correct pour ce que j'ai demandé à l'origine, mais ce que j'ai demandé n'était pas ce que je voulais ...
@MAHKS - Je pense que vous ne pouvez pas obtenir ce que vous voulez avec une seule requête
Autant que je sache que vous ne pouvez pas faire cela dans MySQL. Les colonnes dynamiques ne sont prises en charge qu'à l'étendue de Group_ContCAT () qui regroupe toujours plusieurs rangées de résultats dans une seule colonne. P>
Seulement si vous avez un nombre fixe / limité de total x code> -s, vous pouvez les déclarer dans la requête explicitement en soi. p>
a trouvé un moyen de faire ceci: