繁体   English   中英

通过一个SQL查询从两列获取数据频率

[英]Get frequency of data from two columns via one SQL query

我有桌子
_______________ | from | to | | 1 | 2 | | 2 | 2 | | 1 | 2 | | 3 | 2 |
fromto是国家。
我需要获得前10名的国家遇到了fromto

结果将是
________________ |country| count | | 2 | 5 | | 1 | 2 | | 3 | 1 |
我通过两个查询达到了所需的条件,但是我几乎可以肯定可以通过一个查询进行管理。
提前致谢。

您要使用UNION ALL ,然后使用GROUP BY使用from和to的并集:

SELECT country, COUNT(*) AS count FROM
  (SELECT from AS country FROM table_name
  UNION ALL
  SELECT to AS country FROM table_name)
GROUP BY country 
ORDER BY count DESC
LIMIT 10

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM