【问题标题】:How to get and count the row of table in SQLSQL中如何获取和统计表的行数
【发布时间】:2021-06-15 12:57:40
【问题描述】:
  • 最初我有这样的数据表

  • 我想要的是,在使用 SQL 之后,SQL 会生成一个这样的表

  • 刚学SQL,试过count()和group by,还没试过。
  • TOTAL 列将根据 SIZE 和 NAME 列进行计数。

【问题讨论】:

    标签: mysql sql group-by count


    【解决方案1】:

    首先,您想使用DATE_FORMAT(date, "%Y-%m") 相应地格式化您的日期,以获得2021-03 的格式。然后你可以使用GROUP BYCOUNT(*)

    SELECT
        name,
        size,
        DATE_FORMAT(date, "%Y-%m") as month,
        COUNT(*) as Total
    FROM test
    GROUP BY
        name,
        size,
        DATE_FORMAT(date, "%Y-%m")
    ORDER BY
        COUNT(*) DESC,
        name ASC;
    
    name size month Total
    A 1 2021-03 2
    B 2 2021-03 2
    A 2 2021-03 1
    C 3 2021-03 1

    https://www.db-fiddle.com/f/7edM78Qhp8wLZ1JJZoE3bH/1 的工作示例

    不清楚您希望返回结果的顺序,因此您可以更改ORDER BY 子句来自定义它。

    【讨论】:

      【解决方案2】:

      select Name,Size,Cast(date as date) as Date,count(1) from tablename 按名称、大小、演员(日期为日期)分组

      【讨论】:

      • 尝试使用您的命令 SQl,但它显示的表格如下:prnt.sc/10oszkd
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多