数据库部分语句(持续更新)

这篇博客详细解析了SQL中的分组语句和筛选语句。通过一个具体的例子,解释了如何使用GROUP BY进行分组,以及MAX、AVG、CONVERT等函数的应用。此外,还介绍了涉及多表的筛选语句,如何通过WHERE子句连接多个条件从多个表中获取符合条件的数据。
摘要由CSDN通过智能技术生成

最近项目遇到了一些sql代码不是很理解 就贴出来 加上自己的注释
举个例子是 分组语句 :
SELECT hosid AS 医院编号, hosname AS 医院名称, depid AS 科室编号, depname AS 科室名称,
docid AS 医生编号, docname AS 医生姓名, medid AS 药品编号, medname AS 药品名称,
MAX(medspec) AS 药品规格,CONVERT(int,AVG(medprice)) AS 药品单价, MAX(medcategory) AS 药品类别,
CONVERT(int,SUM(amount)) AS 用药数量, CONVERT(int,SUM(amount) * AVG(medprice)) AS 药品总价,
DATENAME(Month,MAX(use_date)) AS 月份
FROM dbo.MedUse
WHERE use_date = ‘2017.10.1’ and hosname = ‘南阳二院’ and depname = ‘血液肿瘤科’ and docname = ‘邹乐乐’ and medname = ‘脂肪乳针(中长链C8-24)’
GROUP BY hosid,depid,docid,medid,hosname,depname,docname,medname //这8个列同时一样的时候为一组
ORDER BY depid,depname,docname //按升序排序 如果第一个列相等就看第二个,依次来看
MAX 之前的都是要排序的字段 as后面的是用来代替as前面显示在列表中的列值 max是挑出里面值最大的那个数 CONVERT是对数值的操作
如CONVERT(int,AVG(medprice))是 求平均值并转化为int型 CONVERT(int,SUM(amount))是求和并转化为int型 DATENAME(Month,MAX(use_date))是日期转化
然后每一组里面就一行相当于创建了一个新行 因为有M

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值