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

浙江建设监理协会官方网站郑州 高端网站建设

浙江建设监理协会官方网站,郑州 高端网站建设,晚上必看的正能量直播app,推广app拿返佣的平台1. 二级分组需求 先按照一个字段分组#xff0c;在按照 第二个字段分组。之后#xff0c;如果 这个 二级分组中的数据#xff0c;是 1条的。就筛选出来。 比如#xff1a; 先按照 站点分组#xff0c;再按照 设备分组#xff0c; 即#xff1a;如果站点上配置了…1. 二级分组需求 先按照一个字段分组在按照 第二个字段分组。之后如果 这个 二级分组中的数据是 1条的。就筛选出来。 比如 先按照 站点分组再按照 设备分组 即如果站点上配置了2个设备。就筛选出来。 然后这2个设备 都必须是屏幕 查出配置了2个设备的站点 SELECTe2.station,e2.device FROMesb_config e2 GROUP BYe2.station HAVINGcount( 1 ) 1要求 这两个设备都是屏幕参考SQL和思路1 错误写法 SELECTe2.station,e2.device FROMesb_config e2GROUP BY e2.station,e2.device HAVING count(*) 1 -- 这样是错误的这样是根据2个字段 分组。结果不会存在 1的情况GROUP BY e2.station HAVING count(e2.device) 1 -- 这样写无异议 等于 HAVING count(e2.station) 1也是错误的GROUP BY e2.station -- 核心是这样查询后会随机带出 一个device。 -- 所以哪怕 外层在套一个分组因为经过一层后已经选出了一个device了也是错的。问题从头整理 表结构和数据 CREATE TABLE user (id int NOT NULL,username varchar(22) DEFAULT NULL,info varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;1 zhangsan 1 2 lisi 22 3 lisi 33-- 我们要查出lisi -- 先按照姓名分组在按照 info 分组。 -- info中的 数据1就查询出来collate 英 /kəˈleɪt/ vt. 核对校对校勘按照username分组 SELECT * FROM user GROUP BY username-- 按照username分组后lisi会随机选一条第一条 1 zhangsan 1 2 lisi 22加入扰乱数据 INSERT INTO user(id, username, info) VALUES (4, zhangsan, 1); -- 此时数据的数据为 1 zhangsan 1 2 lisi 22 3 lisi 33 4 zhangsan 1加条件 SELECT * FROM user GROUP BY username HAVING count(username) 1-- 结果为此时zhangsan是info相同的不应该出现。count(1)或 count(其他值) 结果都一样 1 zhangsan 1 2 lisi 22两个字段分组 加条件 分3组 -- 此时数据的数据为 1 zhangsan 1 2 lisi 22 3 lisi 33 4 zhangsan 1SELECT * FROM user GROUP BY username,info-- 根据 两个字段分组后变成3组 1 zhangsan 1 2 lisi 22 3 lisi 33此时分组中的数据 1的为 zhangsan SELECT * FROM user GROUP BY username,info HAVING count(1) 1-- 结果 1 zhangsan 12. 业务 真实的问题 业务要求了必须是 一个站点绑定两个设备都是屏幕才查询出来。 无用的SQL保存验证这个真实的设备是不是 屏幕 SELECT* FROMdevice d,device_type dt WHEREd.deviceType dt.id AND d.id e696cfeeb4568ccfcda0ae6787388760 AND dt.attribute 屏幕先 where在 having where语句的执行顺序先于group bygroup by语句的执行顺序先于having having 子句中的每一个元素也必须出现在select列表中having语句可以使用聚合函数。 SQL和实现思路1 窗口函数 SELECT* FROM(SELECTe2.station,ROW_NUMBER() OVER ( PARTITION BY e2.station ) row_num FROMesb_config e2,device d,device_type dt WHEREd.deviceType dt.id AND dt.attribute 屏幕 AND e2.device d.id ) t1 WHEREt1.row_num 1-- 窗口函数 再次赋值 SELECT* FROM(SELECTe2.station,ROW_NUMBER() OVER ( PARTITION BY e2.station ) row_num FROMesb_config e2) t1 WHEREt1.row_num 1SQL和实现思路2 分组 查出 站点配置了 多个设备的 站点 SELECTe2.station,e2.device FROMesb_config e2 GROUP BYe2.station HAVINGcount( 1 ) 1这多个设备 必须是屏幕才能查出来。 对站点进行了分组 SELECTe2.station,e2.device FROMesb_config e2,device d,device_type dt WHEREd.deviceType dt.id AND dt.attribute 屏幕 AND e2.device d.id -- 上面SQL 查出了配置表中所有为屏幕的 设备和站点 -- 此时一个站点 如果配置了 多个屏幕这个站点就会展示出多条-- 然后在筛选一下站点1 的 GROUP BYe2.station HAVINGcount( 1 ) 1扩展怎么显示 一个站点显示2次呢 思路1再关联原表 使用这个逻辑有一个问题。怎么显示 一个站点显示2次呢设备不同的时候 很简单只需要在 外层关联一个 表即可因为这个表 本来就是这种逻辑一个站点显示2次 SELECT * from esb_config e1, (SELECTe2.station FROMesb_config e2,device d,device_type dt WHEREd.deviceType dt.id AND dt.attribute 屏幕 AND e2.device d.id GROUP BYe2.station HAVINGcount( 1 ) 1 ) t1 WHERE e1.station t1.station-- 核心是这样的结果 SELECT * from esb_config e1, (SELECTe2.station -- 这里,e2.device 取了没用只是会筛选第一个 FROMesb_config e2GROUP BYe2.station HAVINGcount( e2.station ) 1) t1 WHERE e1.station t1.station-- 那这个结果加上限制对不对呢不对的为啥不对这里不懂。 -- AND dt.attribute 屏幕 SQL和思路3 错误的 把一级分组查询出来 把二级分组查询出来 如果 一级分组 和 二级分组关联上就展示 这样 查出的数据 只查出了一条也是上面的 数据之一 SELECT* FROM( SELECT * FROM (SELECTe2.station,e2.deviceFROMesb_config e2,device d,device_type dt WHEREe2.device d.id AND d.deviceType dt.id AND dt.attribute 屏幕) t2GROUP BY t2.station HAVING count(t2.station) 1 ) t1,(SELECT * FROM (SELECTe2.station,e2.device FROMesb_config e2,device d,device_type dt WHEREe2.device d.id AND d.deviceType dt.id AND dt.attribute 屏幕) t2GROUP BY t2.device HAVING count(t2.device) 1 ) t3WHEREt1.station t3.station and t1.device t3.device
http://www.pierceye.com/news/469902/

相关文章:

  • 企业网站建设制作大连网站建设吗
  • 做网页兼职网站有哪些建设网站需要花费
  • 如何快速写一个网站黄页网络的推广软件下载
  • 网站建设公司注册enfold wordpress
  • 上海网站建设百度推广公司哪家好模具厂咋做网站
  • 网站背景自动切换织梦网站模板使用教程
  • 网站建设的成果怎么写找人做淘宝网站需要多少钱
  • 网站制作 企业网站建设哪家好tiktok海外运营推广
  • 南昌做网站哪个公司好玉溪市住房和城乡建设局网站
  • 男女做暖网站是什么样子的wordpress 时间轴 主题
  • 国外建设网站jsp网站开发工具
  • 网站流量怎么赚钱wordpress 08影院模板
  • win网站建设网站哪个公司做的好
  • 温州网站运营微信公众号服务号网站开发流程
  • 网站宣传的好处山西房地产网站建设
  • 网站seo工作内容大学做视频网站
  • 台州网站建设企业网站 微信开发
  • 安徽省水利厅网站 基本建设营销策划公司名称
  • 网页设计师培训学院开封做网站优化
  • 山西电力建设三公司网站影院禁止18岁以下观众观影
  • 防伪网站模板网站开发怎么赚钱
  • 医院网站建设意义推广咨询
  • 广东省54个市win10最强优化软件
  • 交换链接网站asp.net企业网站框架
  • 惠州网站建设制作推广医疗设备响应式网站
  • 有哪些做ppt的网站cms网站开发涉及的知识
  • 软件开发成本估算表苏州百度seo代理
  • 网站内部链接有什么作用临安做企业网站的公司
  • 整合营销网站网站建设销售话术开场白
  • 永久免费wap自助建站北京家装设计师排名