可以在文档的"得分"上进行排序,或者在任何multiValued ="false"indexed ="true"字段上进行排序,前提是该字段是非标记化的(即:没有分析器)或使用仅生成分析的分析器单个术语(即:使用KeywordTokenizer)
docs: - http://wiki.apache.org/solr/CommonQueryParameters#sort
我原来的架构是(您可以考虑以下是GROUP-BY): -
如果允许在multiValued上进行排序,
我可以轻松获取某些用户评论的产品列表,
然后按last_activity_date排序.
但是,它不起作用.
我目前的解决方法是将架构转换为: -
这意味着我(有点)设法获得某些用户评论的产品列表,
按last_comment_date排序,
当然它会导致产品重复,
因为产品将出现在每个用户的评论中.
任何模拟分组效果的建议.
之间,我使用solr 3.1.
现场折叠不适用.
我想根据其范围的有效性来选择我的原始数据。有一个仪器,最敏感的设置是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) 如何找到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) 以下是我必须使用的示例.
样本数据 :
ID RANK
---------
1 2
1 3
2 4
2 1
3 2
2 3
4 2
Run Code Online (Sandbox Code Playgroud)
我试图与像行合并IDS和sum在RANK这些小号IDs转换为单排:
ID SUM(rank)
1 5
2 8
3 2
4 2
Run Code Online (Sandbox Code Playgroud) 我有一个带有字段TYPES,AMOUNT和COMMENT的表
我想按“类型”字段分组,但是如果“类型”值是“其他”并且“注释”不为空,我希望这些记录分开显示。
结果示例:
+-----------+-----------+-----------+
| types | amount | comment |
+-----------+-----------+-----------+
| type1 | 27 | |
| type2 | 65 | |
| type3 | 45 | |
| other | 4 | blabla |
| other | 8 | something |
-------------------------------------
Run Code Online (Sandbox Code Playgroud)
因此,我不想将两个“其他”记录分组,而是希望这些记录分开显示(但前提是它们也要有注释)
请考虑以下结果集:
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) 我有一个这样的数据框:
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) 我在 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, Female或M, Male。分组时如何将两种类型合二为一?
编辑:我在想输出可能是这样的:
COUNT,agegroup,sex
10,50-59,Female …Run Code Online (Sandbox Code Playgroud) 有没有办法在 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) 给定一个数据框,例如
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语句,我期待在使用排序的apply,which等等。