如何使用排序结果作为另一个MySQL语法的ORDER BY基础?
例如,
我已经查询了“记录‘重复时间”的顺序,记录的列名是country。SQL语法如下所示:
SELECT country, count( * ) AS count
FROM table1
GROUP BY country
ORDER BY count DESC结果如下:
国家
======================
、美国、美国、日本、美国、美国、日本、日本、美国、美国、日本、日本、美国、日本、日本、印度、
、英国、英国、日本、英国、日本、日本、英国、日本、日本、印度、
-德国--商品价格
-俄罗斯联邦-
--加拿大-
-荷兰-
但是现在我想列出另一个数据表,根据上面的结果对country_to_live列进行排序。语法如下所示:
SELECT name,age,salary FROM table2 ORDER BY (country_to_live ...)
table2可能如下所示:
name age salary country_to_live
============================================================
25/T1593-1993美国约翰技术技术的发展
/T1599-1989技术
/T1459.2-1988票据技术、技术等
/T1593-1991成品油成品率
Abel
成品率、成品率、成品率等
克伦
/T1593-1989 Sid、成品率、成品率等
我想要的结果是:
name age salary country_to_live
============================================================
25/T1593-1993/1995、美国、日本、美国、日本、美国、美国、日本、日本、美国、日本、日本、美国、日本、美国、美国、日本、日本、美国、美国、日本、美国、美国、日本、日本、美国、日本、日本、
/T1599-1989技术
克伦
/T1597-1998/1998/1998/1998/1998/2004/2004/2004
成品率、成品率等
Abel
Sid
/T5109.2-1988成品油成品率成品率
那么(country_to_live ...)是什么?
发布于 2016-08-22 07:00:49
将count结果查询与join一起使用table2,并在count上对结果进行order。
示例:
SELECT t2.name, t2.age, t2.salary, t2.country_to_live
FROM table2 AS t2
LEFT JOIN ( SELECT country, COUNT(*) AS country_count
FROM table1 GROUP BY country
) AS t1 ON t2.country_to_live = t1.country
ORDER BY t1.country_count DESC, t2.name ASC;https://stackoverflow.com/questions/39071800
复制相似问题