8
votes

Comment utiliser Somme () dans un groupe_concat ()?

question révisée

vraiment voulu un groupe_concat de somme ... h2>

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  |
+--------+---------+


0 commentaires

3 Réponses :


5
votes

Changement: xxx

à xxx

- xxx


2 commentaires

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



0
votes

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.

Seulement si vous avez un nombre fixe / limité de total x -s, vous pouvez les déclarer dans la requête explicitement en soi.


0 commentaires

6
votes

a trouvé un moyen de faire ceci: xxx


0 commentaires