sql - SQL - 如果按字段分组是数字,分组如何工作?
问题描述
给定以下表达式:
select cast(round((a) / 5) * 5 as integer) as val
, count(case when b >= 0 then 1
else null
end) as count_b
group by val
这如何使用“val”表达式对字段“b”进行分组?输出给出: output_data
这是根据它是> val,还是< val,还是在相邻的val之间进行分组?
解决方案
在支持别名的数据库中group by
,它与重复表达式相同:
group by cast(round((a) / 5) * 5 as integer)
这基本上是将值四舍五入到最接近的 5 倍数。因此,5、5.1 和 6.2 等值都在“5”的组中。
推荐阅读
- google-colaboratory - 如何将 Colab 笔记本保存为未来笔记本的模板
- excel - Office.context.document.settings.set 不适用于 Excel Mac
- autodesk-forge - 将冗长参数传递给工作项的最佳方法
- nasm - 如何在寄存器 x86_64 nasm 中正确存储过程的地址?
- haskell - 倒数第二行中的 Haskell“显示”功能对于“GamePos”类型的新变体无法正常工作
- azure - 从 azure AD 应用程序获取 ownerid
- r - 减少使用 R markdown 生成的投影仪演示文稿中表格和标题之间的距离
- java - 发送带有附件的电子邮件时出错
- math - 偏离中心线旋转
- javascript - 画布Javascript中的随机扩展圆圈