【发布时间】:2018-05-02 17:01:03
【问题描述】:
我有一个正在运行的查询...但是我希望能够以特定方式进行排序/排序。 我当前的查询(例如)返回如下日期:
CenterID, OrgName, ID, Relationship, REL_START_YEAR, REL_END_YEAR, Full_Name
(84864, 'Twin Cities Spine Center', '19100', 'Fellow', '1971', '1971', 'Robert B. Winter, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Founder', '1971', '1972', 'Robert C. Summer, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Faculty', '1971', '1974', 'Robert D. Spring, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Fellow', '1972', '1974', 'Robert A. Fall, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Faculty', '1975', '1976', 'Ginger B. Jones, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Founder', '1977', '1978', 'Mary F. Johnson, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Faculty', '1971', '1972', 'Shawn S. Dimmer, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Fellow', '1978', '1978', 'Scotty B. Raw, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Fellow', '1978', '1981', 'Lou V. Louis, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Founder', '1984', '1984', 'Paula L. Davis, MD'),
(84864, 'Twin Cities Spine Center', '19100', 'Fellow', '1981', '1982', 'Nadine H. Ericson, MD');
但是我想对事物进行排序/排序/分组
首先是关系列..但不只是在 alpha 排序中..我希望它被列为
创始人至上 师资二 老三……
然后上面的每个“组”按 REL_START_YEAR 排序
这让我很接近......但不是对关系列顺序的精细控制:
SELECT o.CenterID
, o.OrgName
, r.ID
, r.Relationship
, r.REL_START_YEAR
, r.REL_END_YEAR
, u.ID
, u.Full_Name
FROM genealogy_orgs o
JOIN genealogy_relations r
ON r.CenterID = o.CenterID
JOIN genealogy_users u
ON u.ID = r.ID
WHERE o.CenterID = 84864
ORDER
BY r.Relationship DESC
, r.REL_START_YEAR ASC;
为了能够按“关系”列中的唯一顺序进行排序/分组,我在寻找什么? IN() 函数的某种用途?
【问题讨论】:
-
什么是“MS MySQL”(在你的标题中)?您使用的是 Microsoft SQL Server 还是 MySQL?
-
或者只看 FIELD()
-
对不起。我从标题中删除了 MS(脑屁)@Strawberry Perfect!这正是我需要/正在寻找的。让它成为一个答案,我会选择它。
-
另外...我尝试制作一个“示例”...但出现错误...它不是最容易使用的应用程序。示例:rextester.com/GTI4488