我有以下查询
SELECT Cod ,
MIN(Id) AS id_Min,
MAX(Id) AS id_Max,
-- retrieve value in the middle,
COUNT(*) AS Tot
FROM Table a ( NOLOCK )
GROUP BY Cod
HAVING COUNT(*)=3
我怎样才能像我对min和max所做的那样检索min和max之间的值?
例子
Cod | Id
Stack 10
Stack 15
Stack 11
Overflow 100
Overflow 120
Overflow 15
要求的输出
Cod | Min | Value_In_The_Middle | Max
Stack 10 11 15
Overflow 15 100 120
我还没有测试过,但我认为这可以工作
SELECT Cod ,
MIN(Id) AS id__Min,
MAX(Id) AS id_Max,
SUM(ID)-MAX(Id)-MIN(Id) as id_Middle,
COUNT(*) AS Tot
FROM Table a ( NOLOCK )
GROUP BY Cod
HAVING COUNT(*)=3
仅当您具有3个值并且SUM()不会溢出时(如BogdanSahlean在注释中指出),此技巧才起作用。
我可以搜索正常的查询。包含来自elasticsearch uri search的字段值或排序,但无法运行uri search的术语聚合查询。 我怎么能做到这一点? 术语聚合查询是: curl-u-elastic-XGET'127.0.0.1:9200/indexname/typename/\u搜索?pretty'-d'{“size”:0,aggs:{“groupu by_field”:{“term
问题内容: 我需要在ES中使用3个字段进行汇总(分组)。 我可以在1个查询中执行此操作,还是需要对每列使用facet +迭代? 谢谢 问题答案: 您可以通过2种方式来做到这一点: 1)在一个方面中使用多个字段: 单个字段facet的示例: 单面结果中多个字段的示例: 2)使用多方面结果集: 参考链接:http : //www.elasticsearch.org/guide/reference/ap
问题内容: 我有一张标签表,想从列表中获得计数最高的标签。 样本数据如下所示 使用 让我得到正在寻找的完美数据。但是,我想对它进行组织,以使最高的标签数排在首位,并限制它仅向我发送前20个左右。 我试过了 而且我不断收到“组功能的无效使用-ErrNr 1111” 我究竟做错了什么? 我正在使用MySQL 4.1.25-Debian 问题答案: 在所有版本的MySQL中,只需在SELECT列表中为聚
此实例中的任务是获取数据库中每个作者的最新文章。 示例查询产生不可用的结果,因为它并不总是返回的最新消息。 目前公认的答案是 编辑:这个问题是另一个问题的延续,我的具体情况略有不同。您可以(也应该)假设还有一个wp_posts.id是该特定帖子的唯一标识符。
问题内容: 我有这种一级树情况: json在哪里: 问题在于,这会与孩子一起创建optgroup,但也会重复其根: 我想生产: 问题答案: 如果您将json更改为以下内容,则分组将无法完全实现: 然后,您将按照想要的方式进行分组 jsFiddle:http : //jsfiddle.net/rtCP3/182/
问题内容: 我希望能够从电子邮件表中选择一堆行并按发件人分组。我的查询如下所示: 该查询几乎可以按我希望的方式工作-它选择按电子邮件分组的记录。问题在于主题和时间戳记与特定电子邮件地址的最新记录不符。 例如,它可能返回: 当数据库中的记录是: 如果“编程问题”主题是最新的,那么在对电子邮件进行分组时如何使MySQL选择该记录? 问题答案: 一个简单的解决方案是将查询包裹与ORDER语句子选择 第一