簡単な質問、次の表があります
+-------------+---------------------+
| total | o_date |
+-------------+---------------------+
| 35 | 01-11-2009 19:32:44 |
| 41.5 | 01-12-2009 22:33:49 |
| 61.5 | 01-23-2009 22:08:24 |
| 66 | 02-01-2009 22:33:57 |
| 22.22 | 02-01-2009 22:37:34 |
| 29.84 | 04-20-2009 15:23:49 |
+-------------+---------------------+
各月の合計を合計し、月ごとにグループ化します。例えばJan-> 138 Feb-> 88.2 Apr-> 29.84
それについての手がかり。ありがとう
このソリューションでは、結果セットの列として月名が表示され、必要に応じて合計が表示されます。
SELECT MONTHNAME(o_date), SUM(total)
FROM theTable
GROUP BY YEAR(o_date), MONTH(o_date)
select year(o_date), month(o_date), sum(total)
from table
group by year(o_date), month(o_date);
MySQLデータベースから月および年ごとのデータを取得します。
SELECT MONTHNAME(o_date), YEAR(o_date), SUM(total)
FROM the_table
GROUP BY YEAR(date), MONTH(date)
私が過去のMySQLの生活から思い出したように、次のようなクエリ
SELECT LEFT(o_date, 7) month, SUM(total) FROM TABLE group BY month
o_dateフィールドでインデックスを使用しています(残念ながら、YEAR()
およびMONTH()
については保証しません)。
ただし、month
フィールドをフォーマットする必要があり、他のデータベースシステムではインデックスが作成されない可能性が高いでしょう...
SELECT SUM(total)
FROM table
GROUP BY MONTH(o_date)
SELECT year(FROM_UNIXTIME(created)) year, month(FROM_UNIXTIME(created)) month, sum(amount) total
FROM {my_table}
GROUP BY year, month
ORDER BY year, month;
Group BY
、 このような:
select count(A_id) As Tid,Day(CrDate) from Ap Group By Day(CrDate)
うん、このように私のために働く:
SELECT MONTHNAME(date), SUM(`in`) as SOMA, date FROM transactions GROUP BY YEAR(date), MONTH(date)
しかし、今年(2014年)の結果のみを表示する必要があります。