回答

收藏

SQL中的多数功能

技术问答 技术问答 255 人阅读 | 0 人回复 | 2023-09-12

我正在写一个SQL命令搜索表中的多数值(如果表中的值大于50%,该值将作为大多数返回)。例如,对于具有表中值的值Emp(name,age,dept):(32,33,45,45,45
/ O% n! W9 J4 ~# W3 @% ]  {21,45)- p# {; [3 W8 F6 |, C% T' v: F% v7 G& {
因此,如果用户想要获得字段年龄的多数值,他们将操作以下命令:* |* o: `) M" C6 M( M6 Y; e
SELECT majority(age) FROM Emp现在在后端,相应的生成SQL命令如下:
& n  g- i/ w, {. s* `SELECT age FROM Emp GROUP BY age HAVING COUNT(*) > ((SELECT COUNT(*) FROM Emp) / 2);查询返回45作为结果。
- J) `! c+ x. ^4 N: _0 a9 n, w8 o但对于用户查询,例如:
" V% P+ Y2 X0 sSELECT majority(age),dept FROM Emp GROUP BY dept然后,我不确定如何使用它group by功能创建类似的查询,还是其他查询?提前感谢5 a" E0 _) Y# O2 ~8 Y0 ?3 S
                                                               
$ [" u/ g5 Z: S/ q7 Y% }# o; l    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则