C# 需要帮助创建一个按月显示约会类型计数的报告吗

C# 需要帮助创建一个按月显示约会类型计数的报告吗,c#,mysql,visual-studio,C#,Mysql,Visual Studio,我正在使用mySQL和C#进行一个学校项目。我们需要创建一个报告,该报告将计算一种约会的数量,并按月进行订购。我添加了用于填充gatagridview的代码。它当前列出约会的类型并显示每个约会的计数。这是我在学习SQL时遇到问题的“按月排序”部分。任何帮助都将不胜感激 { MySqlConnection con = DBHandler.getConnection(); string com = $"SELECT type

我正在使用mySQL和C#进行一个学校项目。我们需要创建一个报告,该报告将计算一种约会的数量,并按月进行订购。我添加了用于填充gatagridview的代码。它当前列出约会的类型并显示每个约会的计数。这是我在学习SQL时遇到问题的“按月排序”部分。任何帮助都将不胜感激

        {
            MySqlConnection con = DBHandler.getConnection();
            string com = $"SELECT type AS 'Appointment Type', COUNT(*) AS 'Number' FROM appointment GROUP BY type";
            DataTable dt = new DataTable();
            MySqlDataAdapter da = new MySqlDataAdapter(com, con);
            con.Open();
            da.Fill(dt);
            con.Close();

            dataGridView1.DataSource = dt;
        }```

看来你还需要在约会月分组。假设日期字段称为“appointmentDate”,则查询如下:

SELECT EXTRACT(YEAR_MONTH FROM appointmentDate) appointmentMonth,
type AS 'Appointment Type', 
COUNT(*) AS 'Number' 
FROM appointment 
GROUP BY appointmentMonth, type

在SQL语句的末尾添加一个
ORDER BY
。唯一的问题是数据库只有一个mm:dd:yyyy格式的日期您没有提供有关表设计的详细信息,但似乎设计得很差。该格式不是日期列,而是varchar列。如果为列使用正确的日期格式,可以使用日期函数检索部分日期,如月份和年份。我没有设计数据库,它是由课程讲师提供的。包含约会日期的列称为“开始”,是日期时间列。这是我的错,出于某种原因,我假设每个人都有数据库访问权限。这是一个漫长的一年