C# 根据asp.net中的日期时间从postgresql数据库对记录进行排序

C# 根据asp.net中的日期时间从postgresql数据库对记录进行排序,c#,asp.net,npgsql,C#,Asp.net,Npgsql,我想从“视频”表中选择最近的视频。我正在使用PostgreSql数据库和Npgsql数据提供程序。我的应用程序在Asp.net中 userid位于List-userid\u列表中。无论列表中有哪个人的id,都只需要对他们的视频进行排序 Im将查询返回的所有记录存储在名为“视频列表”的列表中 问题是视频是按用户id排序的,也就是说,视频是按一个id的顺序排序的,然后是下一个id,依此类推,但我不希望这样。我想检索这些ID的所有视频,然后立即对所有内容进行排序 string query3 =

我想从“视频”表中选择最近的视频。我正在使用PostgreSql数据库和Npgsql数据提供程序。我的应用程序在Asp.net中

userid位于List-userid\u列表中。无论列表中有哪个人的id,都只需要对他们的视频进行排序

Im将查询返回的所有记录存储在名为“视频列表”的列表中

问题是视频是按用户id排序的,也就是说,视频是按一个id的顺序排序的,然后是下一个id,依此类推,但我不希望这样。我想检索这些ID的所有视频,然后立即对所有内容进行排序

    string query3 = "Select * from \"Videos\" where \"User_ID\" = :user_id Order by \"DateTimeUploaded\" desc"; 

    NpgsqlCommand cmd3 = new NpgsqlCommand(query3, con);


     for (int j = 0; j < userid_list.Count; j++)
     {
            cmd3.Parameters.AddWithValue("user_id", userid_list[j]);
            reader2 = cmd3.ExecuteReader();

            while (reader2.Read())
            {
                string Description = reader2.GetString(reader2.GetOrdinal("Description"));

                DateTime DateTimeUploaded = reader2.GetDateTime(reader2.GetOrdinal("DateTimeUploaded"));

                videos_list.Add(new VideosJson(Description, Transcript, ThumbnailUrl, VideoUrl, DateTimeUploaded));

            }
     }
string query3=“从\“视频\”中选择*其中\“用户ID\”=:用户ID按\“日期时间上载\“描述”排序”;
NpgsqlCommand cmd3=新的NpgsqlCommand(query3,con);
对于(int j=0;j

如果有任何帮助,我们将不胜感激。

您设计它的目的是通过用户循环并按降序检索他们的视频,然后将这些视频作为一个组添加到列表中

User 1
    Video 3
    Video 2
    Video 1

User 2
    Video 6
    Video 5
    Video 4
您应该执行以下操作之一

  • 修改SQL命令,一次筛选所有用户(即“用户ID”=A或“用户ID”=B…,然后按时间排序
  • 将结果(按任意顺序)添加到一个大列表中,然后按时间降序排序,尽管这样做不太礼貌

  • Thnx@Jimmy..你的解释使理解发生了什么变得非常简单。如果你能告诉我如何做你要求我做的事情,那将是一个gr8帮助..:)解决了…主要问题是bcoz我正在将ID存储在列表中…需要使用内部连接!内部联接2表2获取用户ID,然后再次内部联接以按描述顺序获取具有这些ID的视频。。