当前位置: 首页 > 面试题库 >

Mysql仅选择行的百分比

邢浩邈
2023-03-14
问题内容

我想使用第二列(art_count)仅显示那些包含总art_count的X%的行。

我的资料:

title   art_count
a       3
b       12
c       9
d       4
e       45

到目前为止我的查询:

SELECT title, COUNT(art) AS art_count
FROM table1
GROUP BY art HAVING ... ?

使用SUM进行了尝试,但未成功。


问题答案:
SELECT title, COUNT(art) AS art_count
FROM table1
GROUP BY art 
HAVING art_count >= (select count(*) * X / 100 from table1)

您需要为插入一个值 X



 类似资料:
  • 问题内容: 我有一个带有PHP脚本的站点,此脚本在返回由JavaScript文件访问的数据的内部有一个SQL查询。该数据是一个庞大的航班数据列表,我需要能够在指定的任何给定日期中随机选择(比如说)全部航班的40%。为了论证,让我们这样说: 我知道要获得随机使用的行数,理想情况下我想说,但这行不通。 编辑: 问题答案: 您可以记录所有内容,然后按以下方式计算所需的内容:

  • 问题内容: 我想看看如何只获得具有唯一城市的唯一行/记录,而不关心是否是首都,例如: 只会返回一条记录。 我累了像这样的东西,但是没用 谢谢… 问题答案: 您可以使用以下仅用于mysql的技巧: 这将返回 遇到的第一行 的每个独特的价值和。 其他数据库将抱怨您的分组依据中未列出未聚合的列或此类消息。 已编辑 以前我声称不使用分组列上的函数将返回所有大小写的变化,但这是不正确的- 感谢SalmanA

  • 问题内容: 我有一张与客户,用户和收入类似的表格(实际上成千上万条记录): 我想做的是只回报支出最高的客户,这些客户占用户总收入的80%。 要手动执行此操作,我将按詹姆斯的客户的收入对其进行排序,计算出总计的百分比和运行的总计百分比,然后仅返回记录,直到运行的总计达到80%: 我已经尝试过使用CTE,但到目前为止还是空白。有没有办法通过单个查询而不是在Excel工作表中手动执行此操作? 问题答案:

  • 我需要根据该值被选择的百分比概率选择一个值。例如: 时间增量值a的10% 时间增量值b的20% 时间增量值c的30% 时间增量值d的40% 百分比加起来总是正好100% 我遇到过几种像这样的解决方案,但我确定它们不可能是正确的。以下是使用上述解决方案构建的示例程序: 输出: 预期输出: 我相信我需要使用某种算法将百分比转换为从0到99的刻度,以便随机数生成器可以准确地选择一个值。不过,我想不出如何

  • 问题内容: 我正在尝试使用以下命令选择MySQL中仅包含字母数字字符的所有行: 但是,它将返回所有行,而不管它们包含非字母数字字符的事实。 问题答案: 试试这个代码: 这样可以确保所有字符都匹配。

  • 问题内容: 我有2个简单的mysql表。前1个称为mail,具有2行: 第二个称为块,并具有1行: 我想从发送鲍勃电子邮件但未在阻止表中阻止的第一个表中选择发件人。因此结果应为: 我尝试了以下查询,但未返回结果: 问题答案: 左联接将产生不匹配的行。 这些是您需要过滤的行。 以固定值进行联接有点麻烦,但是(根据您的表)更常见的联接是: