SQL多条件判断取值,该如何解决

SQL多条件判断取值
如图是我的数据库,主键是warntime,name可以相同。现在要取到meter1最新的value,就是这个warntime最大对应的name的value。试了好多还是不行啊,只有第一句可以,但第一句是不管插入是是不是meter1他都会更新数据。求解~
SQL多条件判断取值,该如何解决
//根据warnime的最大值来取值
                    myCommand.CommandText = "SELECT * FROM  warnTable  WHERE warntime=(SELECT MAX(warntime) FROM  warnTable )";
                    //myCommand.CommandText = "SELECT value, MAX(warntime) FROM warnTable WHERE NAME = '" + name + "' group by value";
                    //myCommand.CommandText = "SELECT top 1 value FROM warnTable WHERE NAME = '" + name + "' ORDER BY warntime desc";
                    //判断是否查找成功
                    MySqlDataReader getValue = myCommand.ExecuteReader();
                    if (getValue.Read())
                    {
                        dataValue = Convert.ToInt32(getValue["value"].ToString().Trim());
                    }

------解决方案--------------------
引用:
Quote: 引用:


Select Top 1 Value Where name = 'meter1' Order By warntime desc

这句我早就试过了 语法上意思上都是对的 可就是执行错误 
public int GetDataTime(string name)
        {
            int dataValue = 0;
            MySqlConnection myConnection = new MySqlConnection();
            myConnection.ConnectionString = ContString;

            try
            {
                myConnection.Open();
                MySqlCommand myCommand = myConnection.CreateCommand();
                if (name != null)
                {
                    //根据warnime的最大值来取值
                    //myCommand.CommandText = "SELECT value FROM  warnTable  WHERE warntime=(SELECT MAX(warntime) FROM  warnTable )";
                    myCommand.CommandText = "SELECT value FROM  warnTable  WHERE warntime=(SELECT MAX(warntime) FROM  warnTable ) AND NAME ='" + name + "'";
                    //myCommand.CommandText = "Select Top 1 value Where name = '" + name + "' Order By warntime desc";
                    //myCommand.CommandText = "select top 1 * from warnTable where name='" + name + "' order by warntime desc";
                    //myCommand.CommandText = "SELECT value, MAX(warntime) FROM warnTable WHERE NAME = '" + name + "' group by value";
                    //myCommand.CommandText = "SELECT top 1 value FROM warnTable WHERE NAME = '" + name + "' ORDER BY warntime desc";
                    //判断是否查找成功
                    //DataSet myDataSet = new DataSet();