zoukankan      html  css  js  c++  java
  • MSSQL利用报错得到数据库列名

    GROUP BY 语句

    group by可以将数据集按照某个字段划分为不同的组,可以在group by的基础上加以利用count、sum、max、min等聚合函数在组上进行数据处理

    select name,sum(source) from test.student group by id;  -- 查询每个人的姓名及总成绩

    group by id就是按学号进行分组,sum(source)就是显示每一组的总成绩(即每个学号对应的成绩)

    HAVING 语句

    having经常与group by语句连用,用于过滤group by语句返回的数据集。弥补了聚合函数不能与where关键词连用的缺陷。

    select name,sum(source) from test.student group by id having sum(source)>230; -- 查询总成绩超过230的学生姓名及总成绩

    having sum(source)>230就是一个过滤条件,只有总成绩超过230的记录才会显示。

    MSSQL报错信息得到表的列名

    select * from student having 1=1;

    因为要查询所有字段。在表中,从左开始第一个字段就是id,而student.id没有包含在group by当中,而每一列都存在id数据,数据库会因不知道该返回哪一条数据而报错,并且报错信息中包含此列student.id

    select * from student group by id having 1=1;

    因为student.name没有包含在group by当中,所以会报错,并且报错信息中包含此列student.name

    依次可以得到此表所有列名。

  • 相关阅读:
    vue中封装axios方法
    ajax请求步骤
    angular 封装公共方法
    vue 二级列表折叠面板
    eslint常规语法检
    angular 4 路由变化的时候实时监测刷新组件
    json写入到excel表
    angular4 常用pipe管道
    angular4 在页面跳转的时候传递多个参数到新页面
    easyui 动态加载语言包
  • 原文地址:https://www.cnblogs.com/dubhe-/p/10023200.html
Copyright © 2011-2022 走看看