使用PARTITION

时间:2018-02-28 11:33:19

标签: c# sql .net sql-server windows-forms-designer

我正在使用C#和SQL。

我想添加自动插入值取决于当天插入列“名称”数据的次数。每个人可能有多个数据插入。 每个名称的日常数据插入可能会有所不同。 例。人玛丽亚当天有3个插入因此“Column2”显示1,2,3。

预期产出。 enter image description here

此处密钥标识符为name。

C#和SQL方法。感谢您的支持。

按钮点击代码。

protected void button1_Click_1(object sender, EventArgs e)
{

    SqlConnection con = new SqlConnection();
    con.ConnectionString = ("Data Source=APC;Initial Catalog=d;Integrated Security=True");
    con.Open();
    GETDATE())"; 
    String st = "INSERT INTO t4 (twenty,ten,five,one,five_hundred_fils,five_hundred_fils2,sar,hundred_fils,fifty_fils,twenty_five_fils,ten_fils, five_fils,time,total,name) values (@twenty, @ten, @five, @one, @five_hundred_fils,@five_hundred_fils2,@sar, @hundred_fils,@fifty_fils, @twenty_five_fils, @ten_fils,@five_fils, GETDATE(),@total,@name)";
      SqlCommand cmd = new SqlCommand(st, con);
    cmd.Parameters.AddWithValue("@twenty", label18.Text);
    cmd.Parameters.AddWithValue("@ten", label6.Text);
    cmd.Parameters.AddWithValue("@five", label5.Text);
    cmd.Parameters.AddWithValue("@one", label4.Text);
    cmd.Parameters.AddWithValue("@five_hundred_fils", label10.Text);
    cmd.Parameters.AddWithValue("@five_hundred_fils2", label25.Text);
    cmd.Parameters.AddWithValue("@hundred_fils", label19.Text);
    cmd.Parameters.AddWithValue("@fifty_fils", label20.Text);
    cmd.Parameters.AddWithValue("@twenty_five_fils", label21.Text);
    cmd.Parameters.AddWithValue("@ten_fils", label22.Text);
    cmd.Parameters.AddWithValue("@five_fils", label23.Text);
    cmd.Parameters.AddWithValue("@total", label8.Text);
    cmd.Parameters.AddWithValue("@name", textBox13.Text);
    cmd.Parameters.AddWithValue("@sar", label27.Text);
    cmd.ExecuteNonQuery();
        con.Close();

}

My sql for display
SELECT id, twenty, ten, five, one, five_hundred_fils, hundred_fils, fifty_fils, twenty_five_fils, ten_fils, five_fils, time, total, name FROM dbo.t4

2 个答案:

答案 0 :(得分:2)



viewArrary.removeAll()




enter image description here我尝试了不同的方式并得到了结果。

答案 1 :(得分:1)

我建议采取不同的方式。添加日期列并使用插入日期填充它。每当您想要知道白天计数时,请使用GROUP BY [name]和[date]的查询并执行count()。如果您愿意的话,那么稍后您可以按周,月或小时计算。

SELECT COUNT(Column1) AS CountPerDay, Name, CAST(time as Date)
FROM     t4
GROUP BY Name, CAST(time as Date)