gpt4 book ai didi

mysql - 按最常见到最不常见的顺序对列进行排序,忽略重复项

转载 作者:行者123 更新时间:2023-11-29 07:03:52 26 4
gpt4 key购买 nike

我试图通过确定有多少人说这些语言,从世界表中列出世界上最常见的语言。

到目前为止我已经:

SELECT DISTINCT language, TRUNCATE((country.population * countrylanguage.percentage / 100), 0) AS People
FROM countrylanguage, country
WHERE code = countrycode
ORDER BY People DESC

它几乎给了我我想要的东西,但这些语言无法正确相加,例如,每次提到英语作为一种语言时,它都会多次出现。我知道我在某个地方搞错了,但我就是不知道在哪里。

enter image description here

编辑:看到图片是挪威语的。左栏是语言,右栏是说该语言的人数。

最佳答案

您可能打算在这里进行某种聚合。我猜您应该汇总每种语言的使用者数量,然后报告:

SELECT t1.language,
TRUNCATE(SUM(t2.population * t1.percentage / 100), 0) AS people
FROM countrylanguage t1
INNER JOIN country t2
ON t1.countrycode = t2.code
GROUP BY t1.language
ORDER BY people DESC

请注意,我已将您的隐式联接替换为显式联接,该联接使用 INNER JOIN 以及 ON 子句。大多数人认为以这种方式编写带有联接的查询是可取的,因为它可以更轻松地查看正在发生的情况。

关于mysql - 按最常见到最不常见的顺序对列进行排序,忽略重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42468994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com