标签: group-by

在multiValued字段上排序是否有任何解决方法?

可以在文档的"得分"上进行排序,或者在任何multiValued ="false"indexed ="true"字段上进行排序,前提是该字段是非标记化的(即:没有分析器)或使用仅生成分析的分析器单个术语(即:使用KeywordTokenizer)

docs: - http://wiki.apache.org/solr/CommonQueryParameters#sort

我原来的架构是(您可以考虑以下是GROUP-BY): -

  • 产品(id,unique)
    • 发表评论的用户(multiValued)
    • 每个用户的last_comment_date(multiValued,一个用户可以发出多个评论,但只捕获最后一个评论日期)

如果允许在multiValued上进行排序,
我可以轻松获取某些用户评论的产品列表,
然后按last_activity_date排序.

但是,它不起作用.
我目前的解决方法是将架构转换为: -

  • 用户+产品(作为id,唯一)
  • 用户(单值)
  • last_comment_date
  • 制品

这意味着我(有点)设法获得某些用户评论的产品列表,
按last_comment_date排序,
当然它会导致产品重复,
因为产品将出现在每个用户的评论中.

任何模拟分组效果的建议.

之间,我使用solr 3.1.
现场折叠不适用.

solr group-by multivalue

-1
推荐指数
1
解决办法
2844
查看次数

在熊猫中为 groupby 的组分配值

我想根据其范围的有效性来选择我的原始数据。有一个仪器,最敏感的设置是C,然后是B,然后是A。所以从C开始,看看所有的值是否都小于阈值,如果是,那么完美,把这个灵敏度中的所有数据设置为best= 1.

from StringIO import StringIO

a = """category,val,sensitivity_level
x,20,A
x,31,B
x,60,C
x,20,A
x,25,B
x,60,C
y,20,A
y,40,B
y,60,C
y,20,A
y,24,B
y,30,C"""

df = pd.read_csv(StringIO(a))

def grp_1evel_1(x):
    """ 
    return if all the elements are less than threshold
    """

    return x<=30

def grp_1evel_0(x):
"""
Input: data grouped by category. Here I want to go through this categories, in an descending order, 
that is C, B and then A, and wherever one of this categories has x<=30 valid for all elements select 
that …
Run Code Online (Sandbox Code Playgroud)

python group-by pandas

-1
推荐指数
1
解决办法
3524
查看次数

我应该如何构建查询?

如何找到p_option_id为1和11的产品.

p_id  p_option_id 
100         1  
100         2
100         3
101         1
101         2
101         11
101         12
Run Code Online (Sandbox Code Playgroud)

这应该回来了

p_id
101
Run Code Online (Sandbox Code Playgroud)

mysql sql select group-by having

-1
推荐指数
1
解决办法
67
查看次数

对具有相同ID的行求和

以下是我必须使用的示例.

样本数据 :

 ID  RANK
---------
 1    2
 1    3
 2    4
 2    1
 3    2
 2    3
 4    2
Run Code Online (Sandbox Code Playgroud)

SQLFiddle

我试图与像行合并IDS和sumRANK这些小号IDs转换为单排:

ID  SUM(rank)
1      5
2      8
3      2
4      2
Run Code Online (Sandbox Code Playgroud)

sql sql-server group-by aggregate-functions

-1
推荐指数
1
解决办法
516
查看次数

仅在满足条件时分组

我有一个带有字段TYPES,AMOUNT和COMMENT的表

我想按“类型”字段分组,但是如果“类型”值是“其他”并且“注释”不为空,我希望这些记录分开显示。

结果示例:

+-----------+-----------+-----------+
| types     | amount    | comment   |
+-----------+-----------+-----------+
| type1     |     27    |           |
| type2     |     65    |           |
| type3     |     45    |           |
| other     |     4     | blabla    |
| other     |     8     | something |
-------------------------------------
Run Code Online (Sandbox Code Playgroud)

因此,我不想将两个“其他”记录分组,而是希望这些记录分开显示(但前提是它们也要有注释)

mysql sql group-by

-1
推荐指数
1
解决办法
2753
查看次数

组中的条件排序

请考虑以下结果集:

Name     Value1     Value2     Value3
---------------------------------------
ccc       1          2           3
aaa       3          4           3
bbb       2          8           5
Group 1   2          1           3
rrr       1          2           5
mmm       3          4           4
nnn       3          2           1
eee       2          6           5
Group 2   2          4           4
...
Run Code Online (Sandbox Code Playgroud)

如您所见,每个组中的记录不按字母顺序排序.我如何按字母顺序对每组中的记录进行排序?

期望的结果集是:

Name     Value1     Value2     Value3
---------------------------------------
aaa       3          4           3
bbb       2          8           5
ccc       1          2           3
Group 1   2          1           3
eee       2          6           5
mmm       3          4           4
nnn       3          2 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sorting group-by sql-server-2014

-1
推荐指数
1
解决办法
73
查看次数

Pandas - 连续的累积和

我有一个这样的数据框:

Name_A ¦  date1 ¦ 1

Name_A ¦  date2 ¦ 0 

Name_A ¦  date3 ¦ 1

Name_A ¦  date4 ¦ 1

Name_A ¦  date5 ¦ 1

Name_B ¦  date6 ¦ 1

Name_B ¦  date7 ¦ 1

Name_B ¦  date8 ¦ 0

Name_B ¦  date9 ¦ 1
Run Code Online (Sandbox Code Playgroud)

我想得到这个:

Name_A ¦ date1 ¦ 1  

Name_A ¦ date2 ¦ 0  

Name_A ¦ date3 ¦ 1  

Name_A ¦ date4 ¦ 2 

Name_A ¦ date5 ¦ 3

Name_B ¦ date6 ¦ 1

Name_B ¦ date7 …
Run Code Online (Sandbox Code Playgroud)

python group-by cumulative-sum pandas

-1
推荐指数
1
解决办法
1381
查看次数

BigQuery 按特定年龄范围和性别分组

我在 BigQuery 中有一个包含年龄和性别字段的表,我可以像这样分组:

bq query --max_rows=9999 --format=csv --use_legacy_sql=false 'SELECT COUNT(*) AS COUNT, age, sex FROM `project.dataset.table` GROUP BY age, sex ORDER BY age, sex' 2>/dev/null | head -n 11 | csvtk pretty 
COUNT   age    sex
143     50.0   Female
77      50.0   Male
28      51.0   Female
78      51.0   Male
30      52.0   Female
22      52.0   Male
79      53.0   Female
81      53.0   Male
111     54.0   Female
[...]
Run Code Online (Sandbox Code Playgroud)

我想按特定年龄范围分组:50-59、60-69、60-79 和 80 岁或以上。

如何转换上面的查询,以便我可以按特定年龄范围进行分组?

此外,稍微复杂一点的是,我的sex领域可以是F, FemaleM, Male。分组时如何将两种类型合二为一?

编辑:我在想输出可能是这样的:

COUNT,agegroup,sex
10,50-59,Female …
Run Code Online (Sandbox Code Playgroud)

sql group-by google-bigquery

-1
推荐指数
1
解决办法
1078
查看次数

如何在Where子句中使用组函数

有没有办法在 where 子句中使用组函数?我尝试根据下面的逻辑插入记录,但仅限于 qty1 < qty2 的记录

我的代码:

    With t1 as (select item_no, qty,
                min (stock_date)
           From stock_tab
          Where stock_date < SYSDATE
        Group by item_no, qty
     Select item_no, min(t1.qty) qty1, max(t2.qty) qty2, max(stock_date)
         From t1
        Where t1.qty1 < t1.qty2  --incorrect
         --    min(t1.qty) < max(t1.qty2)  --also tried this 
         Group by item_no
        Oder by max(t1.stock_date) desc, max(t1.qty) desc
Run Code Online (Sandbox Code Playgroud)

sql oracle group-by

-1
推荐指数
1
解决办法
4920
查看次数

有没有一种方法可以找到数据帧中常见(完全相同)元素的索引?

给定一个数据框,例如

num <- c(5,10,15,20,25)
letter <- c("A", "B", "A", "C", "B")
thelist <- data.frame(num, letter)
Run Code Online (Sandbox Code Playgroud)

我需要找到字母相同的索引。输出:

A 1 3 
B 2 5
C 4
Run Code Online (Sandbox Code Playgroud)

然后,获取这些索引并找到这些索引的均值。输出:

A 10
B 17.5
C 20
Run Code Online (Sandbox Code Playgroud)

我不能使用循环或if语句,我期待在使用排序的applywhich等等。

indexing group-by r dataframe

-1
推荐指数
1
解决办法
62
查看次数