高分求一个高效率的mysql事件的写法查询写法

Solr高效率利用:Solr实现SQL的查询与统计 - SQL当前位置:& &&&Solr高效率利用:Solr实现SQL的查询与统计Solr高效率利用:Solr实现SQL的查询与统计&&网友分享于:&&浏览:0次Solr高效利用:Solr实现SQL的查询与统计
Cloudera公司已经推出了基于Hadoop平台的查询统计分析工具Impala,只要熟悉SQL,就可以熟练地使用Impala来执行查询与分析的功能。不过Impala的SQL和关系数据库的SQL还是有一点微妙地不同的。 下面,我们设计一个表,通过该表中的数据,来将SQL查询与统计的语句,使用Solr查询的方式来与SQL查询对应。这个翻译的过程,是非常有趣的,你可以看到Solr一些很不错的功能。 用来示例的表结构设计,如图所示: &ignore_js_op&
下面,我们通过给出一些SQL查询统计语句,然后对应翻译成Solr查询语句,然后对比结果
条件组合查询
SQL查询语句:
SELECT log_id,start_time,end_time,prov_id,city_id,area_id,idt_id,cnt,net_type
FROM v_i_event
WHERE prov_id = 1 AND net_type = 1 AND area_id = 10304 AND time_type = 1 AND time_id &=
AND time_id &=
ORDER BY log_id LIMIT 10;
查询结果,如图所示:
&ignore_js_op&
Solr查询URL:
http://slave1:8888/solr-cloud/i_event/select?q=*:*&fl=log_id,start_time,end_time,prov_id,city_id,area_id,idt_id,cnt,net_type&fq=prov_id:1 AND net_type:1 AND area_id:10304 AND time_type:1 AND time_id:[ TO ]&sort=log_id asc&start=0&rows=10
查询结果,如下所示:
&response&
&lst name="responseHeader"&
&int name="status"&0&/int&
&int name="QTime"&4&/int&
&result name="response" numFound="77" start="0"&
&int name="log_id"&6827&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10304&/int&
&int name="idt_id"&11002&/int&
&int name="cnt"&0&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6827&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10304&/int&
&int name="idt_id"&11000&/int&
&int name="cnt"&0&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6851&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10304&/int&
&int name="idt_id"&14001&/int&
&int name="cnt"&5&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6851&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10304&/int&
&int name="idt_id"&11002&/int&
&int name="cnt"&23&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6851&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10304&/int&
&int name="idt_id"&10200&/int&
&int name="cnt"&55&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6851&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10304&/int&
&int name="idt_id"&14000&/int&
&int name="cnt"&4&/int&
对比上面结果,除了根据idt_id排序方式不同以外(Impala是升序,Solr是降序),其他是相同的。
单个字段分组统计
SQL查询语句:
SELECT prov_id, SUM(cnt) AS sum_cnt, AVG(cnt) AS avg_cnt, MAX(cnt) AS max_cnt, MIN(cnt) AS min_cnt, COUNT(cnt) AS count_cnt
FROM v_i_event
GROUP BY prov_
查询结果,如图所示:
&ignore_js_op&
Solr查询URL:
http://slave1:8888/solr-cloud/i_event/select?q=*:*&stats=true&stats.field=cnt&rows=0&indent=true
查询结果,如下所示:
&response&
&lst name="responseHeader"&
&int name="status"&0&/int&
&int name="QTime"&2&/int&
&result name="response" numFound="4088" start="0"&&/result&
&lst name="stats"&
&lst name="stats_fields"&
&lst name="cnt"&
&double name="min"&0.0&/double&
&double name="max"&1258.0&/double&
&long name="count"&4088&/long&
&long name="missing"&0&/long&
&double name="sum"&32587.0&/double&
&double name="sumOfSquares"&&/double&
&double name="mean"&7.511&/double&
&double name="stddev"&46.68&/double&
&lst name="facets" /&
&/response&
对比查询结果,Solr提供了更多的统计项,如标准差(stddev)等,与SQL查询结果是一致的。
IN条件查询
SQL查询语句:
[cde lang="sql"]
SELECT log_id,start_time,end_time,prov_id,city_id,area_id,idt_id,cnt,net_typ
FROM v_i_event
WHERE prov_id = 1 AND net_type = 1 ANDcity_id IN(106,103) AND idt_id IN(,02) AND time_type = 1AND time_id &=
AND time_id &=
ORDER BY log_id, start_time DESC LIMIT 10;
查询结果,如图所示:
&ignore_js_op&
Solr查询URL:
http://slave1:8888/solr-cloud/i_event/select?q=*:*&fl=log_id,start_time,end_time,prov_id,city_id,area_id,idt_id, cnt,net_type&fq=prov_id:1 AND net_type:1 AND (city_id:106 OR city_id:103) AND (idt_id:12011 OR idt_id:5004 OR idt_id:6051 OR idt_id:6056 OR idt_id:8002) AND time_type:1 AND time_id:[ TO ]&sort=log_id asc ,start_time desc&start=0&rows=10
http://slave1:8888/solr-cloud/i_event/select?q=*:*&fl=log_id,start_time,end_time,prov_id,city_id,area_id,idt_id, cnt ,net_type&fq=prov_id:1&fq=net_type:1&fq=(city_id:106 OR city_id:103)&fq=(idt_id:12011 OR idt_id:5004 OR idt_id:6051 OR idt_id:6056 OR idt_id:8002)&fq=time_type:1&fq=time_id:[ TO ]&sort=log_id asc,start_time desc&start=0&rows=10
查询结果,如下所示:
&response&
&lst name="responseHeader"&
&int name="status"&0&/int&
&int name="QTime"&6&/int&
&result name="response" numFound="63" start="0"&
&int name="log_id"&6553&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10307&/int&
&int name="idt_id"&12011&/int&
&int name="cnt"&0&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6553&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10307&/int&
&int name="idt_id"&5004&/int&
&int name="cnt"&2&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6555&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&70104&/int&
&int name="idt_id"&5004&/int&
&int name="cnt"&3&/int&
&int name="net_type"&1&/int&
对比查询结果,是一致的。
开区间范围条件查询
SQL查询语句:
SELECTlog_id,start_time,end_time,prov_id,city_id,area_id,idt_id,cnt,net_type
FROM v_i_event
WHERE net_type = 1 AND idt_idIN(,02) AND time_type = 1 AND start_time &= AND end_time &
ORDER BY log_id, start_time, idt_id DESCLIMIT 30;
查询结果,如图所示:
&ignore_js_op&
Solr查询URL:
http://slave1:8888/solr-cloud/i_event/select?q=*:*&fl=log_id,start_time,end_time,prov_id,city_id,area_id,idt_id,cnt,net_type&fq=net_type:1 AND (idt_id:12011 OR idt_id:5004 OR idt_id:6051 OR idt_id:6056 OR idt_id:8002) AND time_type:1 AND start_time:[ TO ]&fq =-start_time:&sort=log_id asc,start_time asc,idt_id desc&start=0&rows=30
http://slave1:8888/solr-cloud/i_event/select?q=*:*&fl=log_id,start_time,end_time,prov_id,city_id,area_id,idt_id,cnt,net_type&fq=net_type:1 AND (idt_id:12011 OR idt_id:5004 OR idt_id:6051 OR idt_id:6056 OR idt_id:8002) AND time_type:1 AND start_time:[ TO ] AND -start_time:&sort=log_id asc,start_time asc,idt_id desc&start=0&rows=30
http://slave1:8888/solr-cloud/i_event/select?q=*:*&fl=log_id,start_time,end_time,prov_id,city_id,area_id,idt_id,cnt,net_type&fq=net_type:1&fq=idt_id:12011 OR idt_id:5004 OR idt_id:6051 OR idt_id:6056 OR idt_id:8002&fq =time_type:1&fq=start_time:[ TO ]&fq =-start_time:&sort=log_id asc,start_time asc,idt_id desc&start=0&rows=30
查询结果,如下所示:
&response&
&lst name="responseHeader"&
&int name="status"&0&/int&
&int name="QTime"&5&/int&
&result name="response" numFound="4" start="0"&
&int name="log_id"&6553&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10307&/int&
&int name="idt_id"&12011&/int&
&int name="cnt"&0&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6553&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&10307&/int&
&int name="cnt"&2&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6555&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&70104&/int&
&int name="idt_id"&12011&/int&
&int name="cnt"&0&/int&
&int name="net_type"&1&/int&
&int name="log_id"&6555&/int&
&long name="start_time"&&/long&
&long name="end_time"&&/long&
&int name="prov_id"&1&/int&
&int name="city_id"&103&/int&
&int name="area_id"&70104&/int&
&int name="idt_id"&5004&/int&
&int name="cnt"&3&/int&
&int name="net_type"&1&/int&
&/response&
多个字段分组统计(只支持count函数)
SQL查询语句:
SELECT city_id, area_id, COUNT(cnt) AScount_cnt
FROM v_i_event
WHERE prov_id = 1 AND net_type = 1
GROUP BY city_id, area_
查询结果,如图所示:
&ignore_js_op&
Solr查询URL:
http://slave1:8888/solr-cloud/i_event/select?q=*:*&facet=true&facet.pivot=city_id,area_id&fq=prov_id:1 AND net_type:1&rows=0&indent=true
对比上面结果,Solr查询结果,需要从上面的各组中进行合并,得到最终的统计结果,结果和SQL结果是一致的。
多个字段分组统计(支持count、sum、max、min等函数)
一次对多个字段进行独立分组统计,Solr可以很好的支持。这相当于执行两个带有GROUP BY子句的SQL,这两个GROUP BY分别只对一个字段进行汇总统计。
SQL查询语句:
SELECT city_id, area_id, COUNT(cnt) AS count_cnt
FROM v_i_event
WHERE prov_id = 1 AND net_type = 1
GROUP BY city_
SELECT city_id, area_id, COUNT(cnt) AS count_cnt
FROM v_i_event
WHERE prov_id = 1 AND net_type = 1
GROUP BY area_
查询结果,不再显示。
Solr查询URL:
&http://slave1:8888/solr-cloud/i_event/select?q=*:*&stats=true&stats.field=cnt&t.stats.facet=city_id&&t.stats.facet=area_id&fq=prov_id:1 AND net_type:1&rows=0&indent=true
查询结果,如下所示:
&response&
&lst name="responseHeader"&
&int name="status"&0&/int&
&int name="QTime"&72&/int&
&result name="response" numFound="1171" start="0"&&/result&
&lst name="facet_counts"&
&lst name="facet_queries" /&
&lst name="facet_fields" /&
&lst name="facet_dates" /&
&lst name="facet_ranges" /&
&lst name="facet_pivot"&
&arr name="city_id,area_id"&
&str name="field"&city_id&/str&
&int name="value"&103&/int&
&int name="count"&678&/int&
&arr name="pivot"&
&str name="field"&area_id&/str&
&int name="value"&10307&/int&
&int name="count"&298&/int&
&str name="field"&area_id&/str&
&int name="value"&10315&/int&
&int name="count"&120&/int&
&str name="field"&area_id&/str&
&int name="value"&10317&/int&
&int name="count"&86&/int&
&str name="field"&area_id&/str&
&int name="value"&10304&/int&
&int name="count"&67&/int&
&str name="field"&area_id&/str&
&int name="value"&10310&/int&
&int name="count"&49&/int&
&str name="field"&area_id&/str&
&int name="value"&70104&/int&
&int name="count"&48&/int&
&str name="field"&area_id&/str&
&int name="value"&10308&/int&
&int name="count"&6&/int&
&str name="field"&area_id&/str&
&int name="value"&0&/int&
&int name="count"&2&/int&
&str name="field"&area_id&/str&
&int name="value"&10311&/int&
&int name="count"&2&/int&
&str name="field"&city_id&/str&
&int name="value"&0&/int&
&int name="count"&463&/int&
&arr name="pivot"&
&str name="field"&area_id&/str&
&int name="value"&0&/int&
&int name="count"&395&/int&
&str name="field"&area_id&/str&
&int name="value"&10307&/int&
&int name="count"&68&/int&
对比上面结果,Solr查询结果,需要从上面的各组中进行合并,得到最终的统计结果,结果和SQL结果是一致的。
多个字段联合分组统计(支持count、sum、max、min等函数)
SQL查询语句:
SELECT city_id, area_id, SUM(cnt) ASsum_cnt, AVG(cnt) AS avg_cnt, MAX(cnt) AS max_cnt, MIN(cnt) AS min_cnt,COUNT(cnt) AS count_cnt
FROM v_i_event
WHERE prov_id = 1 AND net_type = 1
GROUP BY city_id, area_
查询结果,如图所示:
&ignore_js_op&
Solr目前不能简单的支持这种查询,如果想要满足这种查询统计,需要在schema的设计上,将一个字段设置为多 值,然后通过多个值进行分组统计。如果应用中查询统计分析的模式比较固定,预先知道哪些字段会用于联合分组统计,完全可以在设计的时候,考虑设置多值字段 来满足这种需求。
感兴趣的读者,还可以看看这里:基于Solr DIH实现MySQL表数据全量索引和增量索引
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有汉音对照 asp高分求一个SQL语句:一个表里面按照某个字段的多少排名 asp gao fen qiu yi ge SQL yu ju : yi ge biao li mian an zhao mou ge zi duan de duo shao pai ming - 王朝网络 -
| 分享&&&&&当前位置: &&&&&&&&&&&&&&&&&&&&asp高分求一个SQL语句:一个表里面按照某个字段的多少排名 asp gao fen qiu yi ge SQL yu ju : yi ge biao li mian an zhao mou ge zi duan de duo shao pai ming&&&本文为【】的汉字拼音对照版分类: 电脑/网络 && 程序设计 && 其他编程语言问题描述:  我wo有you一yi个ge表biao,是shi装zhuang文wen章zhang的de,每mei个ge文wen章zhang都dou对dui应ying一yi个ge作zuo者zhe个geID值zhi,一yi个ge作zuo者zhe的deID可ke能neng对dui应ying很hen的de文wen章zhang。我wo现xian在zai想xiang要yao按an照zhao作zuo者zhe发fa布bu文wen章zhang的de多duo少shao进jin行xing排pai名ming,并bing显xian示shi在zai主zhu页ye上shang,也ye就jiu是shi选xuan出chu排pai名ming从cong大da到dao小xiao的de前qian10名ming,这zhe个ge语yu句ju该gai怎zen么me写xie呢ne?在zai线xian等deng。谢xie谢xie各ge位wei高gao手shou大da哥ge了le。比bi如ru作zuo者zhe的de字zi段duan为weiuser_id 文wen章zhang的de字zi段duan为weititle_id.参考答案:  select top(10) [user_id], [user姓xing名ming], count([title_id]) from [表biao名ming] group by [user_id], [user姓xing名ming]  把ba你ni要yao显xian示shi的de列lie包bao括kuo进jin去qu     【】【】&&今日推荐
&&&&日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。
最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。
歌手:Def...老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...把牛仔裤磨出有线的破洞
1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...先来看下敬业福和爱国福
今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。
今天该活动正式启动,和去年一样,需要收集“五福”...有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。
1、很多人有这种习...简介
《极品家丁》讲述了现代白领林晚荣无意回到古代金陵,并追随萧二小姐化名“林三”进入萧府,不料却阴差阳错上演了一出低级家丁拼搏上位的“林三升职记”。...你就是我最爱的宝宝 - 李溪芮
(电视剧《极品家丁》片尾曲)
作词:常馨内
作曲:常馨内
你的眉 又鬼马的挑
你的嘴 又坏坏的笑
上一秒吵闹 下...乌梅,又称春梅,中医认为,乌梅味酸,性温,无毒,具有安心、除热、下气、祛痰、止渴调中、杀虫的功效,治肢体痛、肺痨病。乌梅泡水喝能治伤寒烦热、止吐泻,与干姜一起制...什么是脂肪粒
在我们的脸上总会长一个个像脂肪的小颗粒,弄也弄不掉,而且颜色还是白白的。它既不是粉刺也不是其他的任何痘痘,它就是脂肪粒。
脂肪粒虽然也是由油脂...来源:中国青年报
新的攻击方法不断涌现,黑客几乎永远占据网络攻击的上风,我们不可能通过技术手段杜绝网络攻击。国家安全保障的主要方向是打击犯罪,而不是处置和惩罚...夫妻网络直播“造人”爆红
  1月9日,温岭城北派出所接到南京警方的协查通告,他们近期打掉了一个涉黄直播APP平台。而根据掌握的线索,其中有一对涉案的夫妻主播...如何防止墙纸老化?
(1)选择透气性好的墙纸
市场上墙纸的材质分无纺布的、木纤维的、PVC的、玻璃纤维基材的、布面的等,相对而言,PVC材质的墙纸最不透气...观点一:破日本销售量的“鲜肌之谜” 非日本生产
近一段时间,淘宝上架了一款名为“鲜肌之谜的” 鲑鱼卵巢美容液,号称是最近日本的一款推出的全新护肤品,产品本身所...系腰裙(北宋词人 张先)
惜霜蟾照夜云天,朦胧影、画勾阑。人情纵似长情月,算一年年。又能得、几番圆。
欲寄西江题叶字,流不到、五亭前。东池始有荷新绿,尚小如...关于女人的经典语句1、【做一个独立的女人】
思想独立:有主见、有自己的人生观、价值观。有上进心,永远不放弃自己的理想,做一份自己喜爱的事业,拥有快乐和成就...你想体验机器人性爱吗?你想和性爱机器人结婚吗?如果你想,机器人有拒绝你的权利吗?
近日,第二届“国际人类-机器人性爱研讨会”大会在伦敦金史密斯大学落下帷幕。而...10.土耳其地下洞穴城市
变态指数:★★☆☆☆
这是土耳其卡帕多西亚的一个著名景点,传说是当年基督教徒们为了躲避战争而在此修建。里面曾住着20000人,......据英国《每日快报》报道,一位科学家兼理论家Robert Lanza博士宣称,世界上并不存在人类死亡,死亡的只是身体。他认为我们的意识借助我们体内的能量生存,而且...《我爱狐狸精》 - 刘馨棋
  (电视剧《屏里狐》主题曲)
  作词:金十三&李旦
  作曲:刘嘉
  狐狸精 狐狸仙
  千年修...·&·&·&&&[b]分类:[/b] 电脑/网络 && 程序设计 && 其他编程语言[br][b]问题描述:[/b][br]我有一个表,是装文章的,每个文章都对应一个作者个ID值,一个作者的ID可能对应很的文章。我现在想要按照作者发布文章的多少进行排名,并显示在主页上,也就是选出排名从大到小的前10名,这个语句该怎么写呢?在线等。谢谢各位高手大哥了。比如作者的字段为user_id 文章的字段为title_id.[br][b]参考答案:[/b][br]select top(10) [user_id], [user姓名], count([title_id]) from [表名] group by [user_id], [user姓名]
把你要显示的列包括进去
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。&&&&&&为你推荐&&&&&&转载本文&UBB代码&HTML代码复制到剪贴板...&更多内容··········&&&&&&&&&频道精选&&王朝女性&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&王朝分栏&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&王朝编程&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&王朝导购&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&王朝其他&&|&&|&&|&&|&&|&&|&&&&&2005-&&版权所有&

我要回帖

更多关于 mysql 高效率查询 的文章

 

随机推荐