【问题标题】:SQL SORTING ISSUE WITH GROUP BYGROUP BY 的 SQL 排序问题
【发布时间】:2011-08-18 23:03:11
【问题描述】:
SELECT TOP 10 tb_show.showId, tb_Show.Title, tb_Show.PageName, Quantity
FROM         tb_OrderItem INNER JOIN
                        (SELECT * FROM tb_Show WHERE IsDeleted = 0 AND PrivateShow = 0 AND Archive = 0 ) tb_Show
                      ON tb_OrderItem.ShowId = tb_Show.showId             
GROUP BY tb_show.showId, tb_Show.Title, tb_Show.PageName, Quantity
ORDER BY Quantity DESC 
  • 160 dsadsadsadsa dsadsadsadsa 3
  • 160 dsadsadsadsa dsadsadsadsa 2
  • 150 个基于 css 的地图测试事件 css-based-map-test-event 1
  • 159 交叉空心测试 cross-hollows-test 1

但我不想重复 ID,即 160。所以我将其设为子查询,并仅使用 DISTINCT 关键字获得三个列。问题是当我将其移入具有 DISTINCT 的子查询时,按数量排序不起作用没有排序的关键字很好,但不同的关键字会删除排序...


SELECT DISTINCT TOP 10 showId, Title, PageName  from 
( SELECT TOP 10 tb_show.showId, tb_Show.Title, tb_Show.PageName, Quantity
FROM         tb_OrderItem INNER JOIN
                        (SELECT * FROM tb_Show WHERE IsDeleted = 0 AND PrivateShow = 0 AND Archive = 0 ) tb_Show
                      ON tb_OrderItem.ShowId = tb_Show.showId             
GROUP BY tb_show.showId, tb_Show.Title, tb_Show.PageName, Quantity
ORDER BY Quantity DESC ) tb_show
  • 150 个基于 css 的地图测试事件 css-based-map-test-event
  • 159 交叉空心测试 cross-hollows-test
  • 160 dsadsadsadsa dsadsadsadsa

【问题讨论】:

    标签: sql group-by sql-order-by


    【解决方案1】:

    这将为您提供第二个示例中的输出。 distinct 子查询对您不起作用的原因是您还按数量分组,这导致输出单独的不同行。

    SELECT TOP 10 tb_show.showId, tb_Show.Title, tb_Show.PageName, MAX(quantity) as Quantity
    FROM tb_OrderItem 
        INNER JOIN tb_Show 
            ON tb_OrderItem.ShowId = tb_Show.showId 
    WHERE tb_show.IsDeleted = 0 AND tb_show.PrivateShow = 0 AND tb_show.Archive = 0 
    GROUP BY tb_show.showId, tb_Show.Title, tb_Show.PageName
    ORDER BY MAX(quantity)
    

    【讨论】:

    • 不,但我想像第一个例子一样排序......因为最畅销的数量应该是第一位的。
    • 我正在尝试按数量排序,如果我删除不同的关键字,我的第二个示例工作正常,但它仍然重复行,但当我放置不同的关键字时,它会删除排序
    • 我希望我能给你两分:)
    猜你喜欢
    • 2010-12-18
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 2018-09-07
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    相关资源
    最近更新 更多