2

販売された車に関するデータで満たされたテーブルがあります。

毎日の平均を取得したいので、集計と以下の関数を使用しています。

SELECT
        DAYOFMONTH(TIMESTAMP) AS DAY,
        MONTH(TIMESTAMP) AS MONTH,
        AVG(number_sold) AS sold,
        AVG(amount_earned) AS earned,
        AVG(wages_spent) AS wages
FROM cardata
GROUP BY DAYOFMONTH(TIMESTAMP)
ORDER BY TIMESTAMP DESC
LIMIT 0, 12; 

毎日1行で12行を取得する必要があります。12行が返されますが、毎日行を取得するのに問題があります。つまり、2月の場合、5日目と8日目しか取得できません。

私の発言に何か問題がありますか?

助けてください?

4

1 に答える 1

1

GROUPBY は適切ではないと思います。

試す:

GROUP BY DAYOFMONTH( TIMESTAMP ) , MONTH( TIMESTAMP )

これにより、必要に応じてデータがグループ化されます。

または、次のようなこともできます。

SELECT
   DATE_FORMAT ( TIMESTAMP, '%m/%d' ) AS DAY,
   ...
FROM cardata
GROUP BY DAY
ORDER BY TIMESTAMP DESC
LIMIT 0, 12

しかし、GROUPBY を修正することは、それを修正する必要がある主なことです。

于 2013-01-25T09:34:00.997 に答える