【问题标题】:Sql Server sorting query result [closed]Sql Server排序查询结果[关闭]
【发布时间】:2013-04-29 18:53:20
【问题描述】:

我的目的是通过 RoomId、ChatDate 和 ChatTime 从表中选择聊天,然后按日期和时间排列结果

我应该在这个查询中添加什么来按 ChatDate 和 ChatTime 对结果进行排序?!

这就是我写到现在的内容:

ALTER PROCEDURE [dbo].[Get_ChatByHour]
    @BeginHour Time(7),
    @EnDHour Time(7), @RoomId int,@ChatDate date
    AS
        BEGIN

    SET NOCOUNT ON;

    -- Insert statements for procedure here
    SELECT * 
    FROM Chat 
    WHERE Chat.RoomId=@RoomId 
      and Chat.ChatDate=@ChatDate 
      and  Chat.ChatTime BETWEEN @BeginHour and @EnDHour 
END

【问题讨论】:

  • @RacerNerd 急什么?此外,如果您查看 OP 的个人资料,很明显他们知道如何接受答案。
  • 不着急。我只是想确保它不会像许多其他问题一样被标记出来。
  • @RacerNerd 似乎不是这个 OP 的问题。
  • 同意。积分这么少,我没有花时间看他的个人资料。

标签: sql sql-server-2008 sql-order-by


【解决方案1】:

添加 order by 子句

--at the end of the query

order by ChatDate, ChatTime 

【讨论】:

    【解决方案2】:

    只需通过以下方式添加订单:

    ORDER BY ChatDate, ChatTime 
    

    您可以查看它的文档here

    【讨论】:

      【解决方案3】:

      您应该在末尾添加一个 ORDER BY 子句。

      SELECT ____QUERY______   ORDER BY ChatDate asc, ChatTime asc
      

      您可以将 asc 更改为 desc 以进行降序。

      【讨论】:

        【解决方案4】:

        你只需要添加一个 ORDER BY 子句

        SELECT * FROM Chat WHERE Chat.RoomId=@RoomId and Chat.ChatDate=@ChatDate and   
        
        Chat.ChatTime BETWEEN @BeginHour and @EnDHour
        
        ORDER BY ChatDate, ChatTime
        

        和/或 DESC 取决于您需要它们的顺序

        【讨论】:

          猜你喜欢
          • 2018-04-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-16
          • 1970-01-01
          • 1970-01-01
          • 2017-04-05
          • 2013-02-08
          相关资源
          最近更新 更多