mysql 返回月/年列和COUNT的SQL命令

egmofgnx  于 2023-01-16  发布在  Mysql
关注(0)|答案(1)|浏览(93)

我已经尝试了一段时间,似乎遇到了障碍。
我想按月分组并计算小时数。
我的SQL表:
| 身份证|日期|小时|
| - ------|- ------|- ------|
| 1个|小行星1645|二、一|
| 1个|小行星164543559|1.6岁|
| 1个|小行星1642152391|1.4岁|
| 1个|小行星1647246391|1.7岁|
| 第二章|小行星1647246391|二、五|
| 1个|小行星1647|0.4分|
我当前的尝试:

SELECT FROM_UNIXTIME(Date, '%m-%Y') AS prod_month, COUNT(Hours)
            FROM my_table
            WHERE Date > [last 365 days in unix timestamp]
            AND id = 1
            GROUP BY
            prod_month;"

因此,理想情况下,结果将返回如下内容:
| 生产月|小时|
| - ------|- ------|
| 2022年2月|三、七|
| 2022年1月|1.4岁|
| 2022年3月|二、一|

mnemlml8

mnemlml81#

对您的查询进行了三项调整:

  • 采用SUM而不是COUNT来合计小时数
  • 添加ROUND以将总和四舍五入为两个数
  • 使用UNIX_TIMESTAMP转换unixtime中的当前日期,并在WHERE子句中进行比较
SELECT FROM_UNIXTIME(Date_, '%m-%Y') AS prod_month, 
       ROUND(SUM(Hours),2)           AS Hours 
FROM my_table
WHERE UNIX_TIMESTAMP(CURDATE() - INTERVAL 1 YEAR) < Date_
  AND id = 1
GROUP BY FROM_UNIXTIME(Date_, '%m-%Y')

检查here演示。

相关问题