回答

收藏

SQL中的多数功能

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

我正在写一个SQL命令搜索表中的多数值(如果表中的值大于50%,该值将作为大多数返回)。例如,对于具有表中值的值Emp(name,age,dept):(32,33,45,45,45
1 i; @5 E8 K; C1 [! o( \3 N21,45)0 ]3 k' c9 E  a" M* r
因此,如果用户想要获得字段年龄的多数值,他们将操作以下命令:
6 F! M& |! o3 q% p3 R3 [: @; hSELECT majority(age) FROM Emp现在在后端,相应的生成SQL命令如下:
) a$ S& q' E. GSELECT age FROM Emp GROUP BY age HAVING COUNT(*) > ((SELECT COUNT(*) FROM Emp) / 2);查询返回45作为结果。0 Y3 W+ c3 c  i: E
但对于用户查询,例如:
; S2 t1 \( I4 p' \& D5 q& pSELECT majority(age),dept FROM Emp GROUP BY dept然后,我不确定如何使用它group by功能创建类似的查询,还是其他查询?提前感谢2 X& v4 r. a7 J6 q! w8 u
                                                               
6 n5 T3 Y, m+ p    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则