如何在特定字段为空时获取行数

本文关键字:获取 字段 | 更新日期: 2023-09-27 18:07:50

RowID       TimeReceived    TimeRead    tbl_user_UserID     tbl_message_MsgID
  5     2011-09-06 11:16:20   NULL               2                1
  6     2011-09-06 11:17:04   NULL               3                1
  7     2011-09-06 11:17:19   NULL               100              1

这是我的表

 command = new MySqlCommand("SELECT COUNT(Distinct RowID) FROM tbl_usermessage WHERE TimeRead= NULL AND tbl_message_MsgID=@Value1", connectionString);
         command.Parameters.Add("@value1", MySqlDbType.Int32, 25);
         command.Parameters["@value1"].Value = MessageID;
         int nnnID = Convert.ToInt32(command.ExecuteScalar());

我想计算timeread为空的行,它给我0作为输出,它应该是3。我哪里做错了。我已经将时间读取的默认值设置为null。

如何在特定字段为空时获取行数

查询count
select count(Distinct RowID) from table where TimeRead is null

用" is NULL "代替" = NULL "

SELECT COUNT(Distinct RowID) FROM tbl_usermessage WHERE TimeRead is NULL ...

还要检查参数@value1是否正确!

您的SQL不正确。您可以使用IS NULL:

检查NULL。
 command = new MySqlCommand("SELECT COUNT(Distinct RowID) FROM tbl_usermessage WHERE TimeRead IS NULL AND tbl_message_MsgID=@Value1", connectionString);
         command.Parameters.Add("@value1", MySqlDbType.Int32, 25);
         command.Parameters["@value1"].Value = MessageID;
         int nnnID = Convert.ToInt32(command.ExecuteScalar());