微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MS Access -- 在联合查询中使用 Order By

如何解决MS Access -- 在联合查询中使用 Order By

我需要一个查询,该查询将从名为 Country 的表中选择 CountryName,以便“美国”始终排在最前面,所有其余国家按字母顺序排列。我使用了以下代码,其目的是仅选择美国,然后使用联盟将所有其他国家按字母顺序添加到美国之后。这似乎有效,但我随后注意到,当表中添加了一些额外的国家时,美国根据需要排在最前面,但添加的国家只是附加到查询结果中(即,不是按字母顺序排列)需要)。有什么想法吗?我不确定我想要的东西在 Access 中是否可行。 “我在 Office 360​​ 中使用 Access 版本。)

SELECT * from 
( 
SELECT Country.CountryDesc FROM Country where (((Country.CountryDesc)="united states"))
) dummy_alias1

UNION ALL SELECT * from
(
SELECT Country.CountryDesc  FROM Country WHERE (((Country.CountryDesc)<>"united states")) 
ORDER BY Country.CountryDesc
) dummy_alias2;

解决方法

如您所见,UNION 会忽略子查询的 ORDER BY。但是,不需要 UNION 查询。计算一个基于排序的值:

        //go:embed static
        var staticFiles embed.FS

        // http.FS can be used to create a http Filesystem
        var staticFS = http.FS(staticFiles)
        fs := http.FileServer(staticFS) // embeded static files
        // Serve static files
        http.Handle("/static/",fs)

        www := http.FileServer(http.Dir("./files/")) // side static files,to be beside binary
        // Serve static files
        http.Handle("/files/",www)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。