当前位置: 首页 > news >正文

厦门市建设区网站首页梅州建站多少钱

厦门市建设区网站首页,梅州建站多少钱,开发网站用什么语言好,国外哪些网站做产品推广比较好目录 一、背景二、定义三、实现需求 一、背景 SQL需求#xff1a; 假设有一个用户表#xff0c;我们想根据用户的部门#xff08;depart_no#xff09;进行分组#xff0c;找出每个组织中的任意一人。 在 PostgreSQL 中#xff0c;如果要实现上面这个需求#xff0c;假设… 目录 一、背景二、定义三、实现需求 一、背景 SQL需求 假设有一个用户表我们想根据用户的部门depart_no进行分组找出每个组织中的任意一人。 在 PostgreSQL 中如果要实现上面这个需求假设存在唯一主键id可能会有人想到用下面这种方式来查询 select * from t_user_info where id in (select min(id) from t_user_info group by depart_no);首先如果使用上面这个 SQL 会导致 t_user_info 表查询两遍效率不高。 其次如果条件变一下想找出每个部门depart_no中年龄age最小的人这样的话像上面使用单个子查询方式就无法实现了因为每个部门中的最小年龄有可能是重复的。除非使用两个子查询 select * from t_user_info where id in (select min(t1.id) from t_user_info t1 (select depart_no, min(age) age from t_user_info group by depart_no) t2where t1.depart_no t2.depart_no and t1.age t2.agegroup by t1.depart_no);这样虽然实现了但是有一个前提条件是表中必须存在唯一主键而且 三个子查询导致 SQL 的可维护性和效率进一步降低了。在生产环境上我们 严令禁止这种难以维护的 SQL 出现在我们的代码中 这时候就到了我们的主角 distinct on 上场了。 二、定义 distinct on是 PostgreSQL 中一种独特的 SQL 语法用于在一组重复的记录中选取每个分组的第一条记录。不同于普通的 distinct 关键字distinct on 允许指定某些列用于区分唯一性并且可以控制每个分组返回表中存在的任意字段不同于 group by 关键字并 不局限于只能查询、排序用于分组的字段。 注意 排序的话必须要包含用于分组的字段比如分组字段是 depart_no排序可以是 order by depart_no, age也可以是 order by age, depart_no但是必须要包含 depart_no。 基本语法如下 select distinct on (column1, column2, ...) expression1, expression2 from table_name [where conditions] [order by column1, column2, ...];column1, column2, ...这是用于区分唯一性的字段列表distinct on 会根据这些列找出各组的第一行。expression1, expression2, ...这是你想要查询的字段或者表达式这些数据来自根据 distinct on 中的字段去重后所对应的每组数据的第一行。table_name要查询的表名。[where conditions]可选的筛选条件用于进一步过滤数据。[order by column1, column2, ...]可选的排序条件包含但不局限于分组的字段。distinct on 的关键在于需要有一个明确的排序因为 distinct on 返回的是每个分组中按照 order by 排序后的第一条记录。 三、实现需求 现在我们再用 distinct on 来重新实现一遍我们的需求假设有一个用户表我们想根据用户的部门depart_no进行分组找出每个组织中的任意一人。 select distinct on (depart_no) * from t_user_info;一个 SQL 直接解决不需要任何子查询也不需要唯一主键。 我们再来看下问题的升级版想找出每个部门depart_no中年龄age最小的人 select distinct on (depart_no) * from t_user_info order by depart_no, age;同样非常简单非常优雅这么方便的 distinct on 你学会了吗 整理完毕完结撒花~ 参考地址 1.pgsql中distinct on的用法https://blog.csdn.net/qq_24702263/article/details/105311212
http://www.zqtcl.cn/news/445102/

相关文章:

  • 昆明做网站竞价单页营销型网站建设
  • 网站注销备案查询厦门好的做网站公司
  • 大学生兼职网站做ppt数字化营销模式及特点
  • 网站虚拟主机1gwordpress自定义头像插件
  • 网站建设的栏目策划长沙网站制作价
  • h5商城网站怎么建立建设银行网站号
  • 养殖舍建设网站网站设计建设流程图
  • 麦包包的网站建设分析陕西城乡建设部网站
  • 网站测评必须做灯笼制作手工简单又漂亮
  • 购物网站建设的意义与目的wordpress 插件 加速
  • 大型html5浅蓝色网站设计公司dede模板网店怎么开店详细教程
  • 一个阿里云怎么做两个网站吗樱花16q808a
  • 如何利用服务器做网站网站建设朝阳
  • 比邻店网站开发企查查企业信息查询在线
  • 家乡网站建设策划案专业建设专题网站
  • 网站建设公司挣钱吗wordpress评论内容密码保护
  • 上海专业建站最低价网站程序模板
  • 蚌埠网站建设哪家好创客贴官网
  • php网站建设参考文献wordpress 头像 很慢
  • 大连seo网站推广phpcmsv9手机网站源码
  • 公司做推广做网站好还是俄文网站引擎
  • 上海市建设咨询协会网站asp网站源码
  • 大家都在哪些网站上做医药招商wordpress po文件
  • 国外主题网站兰州app
  • 建设项目自主验收公示网站dedecms英文外贸网站企业模板下载
  • 做网站要服务器吗前端企业网站开发
  • 用html写一个个人介绍多网站怎么做seo
  • 做网站打广告犯法吗中国建设投资集团 网站首页
  • 怎么免费申请个人网站职业技能培训有哪些
  • 小型的企业网站湖南备案网站建设方案书