<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>简单之美 &#187; Tag &#187; SQL</title>
	<atom:link href="http://shiyanjun.cn/archives/tag/sql/feed" rel="self" type="application/rss+xml" />
	<link>http://shiyanjun.cn</link>
	<description>简单之美，难得简单，享受简单的唯美。</description>
	<lastBuildDate>Wed, 04 Mar 2026 07:04:53 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>Solr实现SQL的查询与统计</title>
		<link>http://shiyanjun.cn/archives/78.html</link>
		<comments>http://shiyanjun.cn/archives/78.html#comments</comments>
		<pubDate>Wed, 21 Aug 2013 14:51:38 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Solr/ElasticSearch]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://shirdrn.org/?p=78</guid>
		<description><![CDATA[<p>Cloudera公司已经推出了基于Hadoop平台的查询统计分析工具Impala，只要熟悉SQL，就可以熟练地使用Impala来执行查询与分析的功能。不过Impala的SQL和关系数据库的SQL还是有一点微妙地不同的。
下面，我们设计一个表，通过该表中的数据，来将SQL查询与统计的语句，使用Solr查询的方式来与SQL查询对应。这个翻译的过程，是非常有趣的，你可以看到Solr一些很不错的功能。
用来示例的表结构设计，如图所示：

下面，我们通过给出一些SQL查询统计语句，然后对应翻译成Solr查询语句，然后对比结果。
查询对比

条件组合查询

SQL查询语句：
查询结果，如图所示：

Solr查询URL：
查询结果，如下所示：
对比上面结果，除了根据idt_id排序方式不同以外（Impala是升序，Solr是降序），其他是相同的。

单个字段分组统计

SQL查询语句：
查询结果，如图所示：

Solr查询URL：
查询结果，如下所示：
对比查询结果，Solr提供了更多的统计项，如标准差（stddev）等，与SQL查询结果是一致的。

IN条件查询

SQL查询语句：
查询结果，如图所示：

Solr查询URL：
或
查询结果，如下所</p>]]></description>
	<p>Cloudera公司已经推出了基于Hadoop平台的查询统计分析工具Impala，只要熟悉SQL，就可以熟练地使用Impala来执行查询与分析的功能。不过Impala的SQL和关系数据库的SQL还是有一点微妙地不同的。
下面，我们设计一个表，通过该表中的数据，来将SQL查询与统计的语句，使用Solr查询的方式来与SQL查询对应。这个翻译的过程，是非常有趣的，你可以看到Solr一些很不错的功能。
用来示例的表结构设计，如图所示：

下面，我们通过给出一些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 &gt;= 20130801 AND time_id &lt;= 20130815
ORDER BY log_id LIMIT 10;

查询结果，如图所示：

Solr查询URL：

http://slave1:8888/solr-cloud/i_event/select?q=*:*&amp;fl=log_id,start_time,end_time,prov_id,city_id,area_id,id</p>			<content:encoded><![CDATA[<p>Cloudera公司已经推出了基于Hadoop平台的查询统计分析工具Impala，只要熟悉SQL，就可以熟练地使用Impala来执行查询与分析的功能。不过Impala的SQL和关系数据库的SQL还是有一点微妙地不同的。
下面，我们设计一个表，通过该表中的数据，来将SQL查询与统计的语句，使用Solr查询的方式来与SQL查询对应。这个翻译的过程，是非常有趣的，你可以看到Solr一些很不错的功能。
用来示例的表结构设计，如图所示：

下面，我们通过给出一些SQL查询统计语句，然后对应翻译成Solr查询语句，然后对比结果。
查询对比

条件组合查询

SQL查询语句：
查询结果，如图所示：

Solr查询URL：
查询结果，如下所示：
对比上面结果，除了根据idt_id排序方式不同以外（Impala是升序，Solr是降序），其他是相同的。

单个字段分组统计

SQL查询语句：
查询结果，如图所示：

Solr查询URL：
查询结果，如下所示：
对比查询结果，Solr提供了更多的统计项，如标准差（stddev）等，与SQL查询结果是一致的。

IN条件查询

SQL查询语句：
查询结果，如图所示：

Solr查询URL：
或
查询结果，如下所</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/78.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
