zoukankan      html  css  js  c++  java
  • group by 与 order by



    USE [mydb]
    go

    WITH w AS(
        SELECT TOP 6 InfoId FROM(
            SELECT InfoId FROM(
                SELECT TOP 6
                    b.InfoId
                    FROM dbo.[BrowseLog] b,dbo.[Info] i
                    WHERE b.InfoId=i.InfoId
                        AND i.CityId=3
                    GROUP BY b.InfoId
                    ORDER BY MAX(b.BrowseId) DESC
            ) i1
            UNION
            SELECT InfoId FROM(
                SELECT TOP 6
                    InfoId
                    FROM dbo.[Info]
                    WHERE CityId=3
                    ORDER BY InfoId DESC
            ) i2
        ) u
        ORDER BY InfoId ASC
    )
    SELECT    
        w.InfoID
        ,i.[desc]
        ,i.small_pic_url
        ,s.SiteUrl
        ,s.SiteName
        FROM w,dbo.[Info] i,dbo.[Site] s
        WHERE w.InfoId=i.InfoId
            AND i.SiteId=s.SiteId
        ORDER BY w.InfoId DESC;

    直接写 ORDER BY b.BrowseId DESC 是不行的,语法错误,用了MAX()以后就可以了。其含义,就是用每个分组里面,browseId的最大值来排序。

  • 相关阅读:
    【C++ 系列笔记】03 C++ 面向对象进阶
    【C++ 系列笔记】02 C++ 面向对象基础
    【C++ 系列笔记】01 C++ 与 C
    【JavaScript】简单取随机数 ~~(Math.random() * number)
    英语测试
    Linux指令入门
    RE-攻防世界 T3 insanity
    PWN-攻防世界 level0
    ISCC不会的理论题
    kali linux配置ssh
  • 原文地址:https://www.cnblogs.com/leftfist/p/4258119.html
Copyright © 2011-2022 走看看