我正在尝试执行一个查询,该查询通过名为 type_id 的属性对一组数据进行分组。
SELECT
vt.id AS voucher_type,
COALESCE(COUNT(v.id), 0) AS vouchers_remaining
FROM
vouchers v
INNER JOIN voucher_types vt
ON vt.id = v.type_id
WHERE
v.sold = 0
GROUP BY vt.id
Run Code Online (Sandbox Code Playgroud)
我想要的结果是 type_id 和每种类型剩余的未售出产品数量。如果至少还剩下一个,则此操作可以正常工作,但是如果存在零计数行,则不会在结果集中返回该行。
如何为那些没有任何相应行进行计数的类型设置虚拟行?
任何建议将不胜感激。
谢谢
我试图按两次分组,一次按单个级别字段分组,然后按时间戳字段的月份分组。
对 SQL 不太陌生,但这是我在阅读另一篇 SO 帖子后想到的:SQL query to group by Month part of timestamp
SELECT
VwNIMUserDim.USER_EMAIL_ADDRESS,
VwNIMEventFct.NIM_USER_ID,
SUM(CASE WHEN NIM_EVENT_TYPE_ID = 880 THEN 1 ELSE 0 END) AS APP_OPEN,
SUM(CASE WHEN NIM_EVENT_TYPE_ID = 881 THEN 1 ELSE 0 END) AS AUTODL_SETTINGS_SAVE,
SUM(CASE WHEN NIM_EVENT_TYPE_ID = 882 THEN 1 ELSE 0 END) AS AUTO_QUERY_CONFIRM,
SUM(CASE WHEN NIM_EVENT_TYPE_ID = 883 THEN 1 ELSE 0 END) AS ISSUE_CLOSE,
SUM(CASE WHEN NIM_EVENT_TYPE_ID = 884 THEN 1 ELSE 0 END) AS ISSUE_DOWNLOAD,
SUM(CASE WHEN …Run Code Online (Sandbox Code Playgroud) 您好,我想按 file_serial 进行分组,但仅当file_serial > 1时,这意味着值不大于 1 的重复 file_serial

所以它应该看起来像

任何想法如何,那就太好了。谢谢。
我在 Oracle DBMS 中创建了一个具有以下属性的员工表:部门号和薪水。我执行了这个查询:
SELECT deptno, SUM(salary)
FROM emp
GROUP BY deptno
HAVING 1 > 2 ;
Run Code Online (Sandbox Code Playgroud)
我认为 1 和 2 指的是 SELECT 语句中的“deptno”和“SUM(salary)”列。所以我在表中的“deptno”>“SUM(salary)”处放置了一条记录,如下所示:
deptno salary
1001 5000
1002 1000
Run Code Online (Sandbox Code Playgroud)
输出是“未找到行”我期望第二行作为输出。请解释原因。
table_customers(customer_id, customer_name)
table_orders(customer_id, order_id, order_datetime)
Run Code Online (Sandbox Code Playgroud)
我想为last order date每个customer. 如果顾客没有下任何订单,请00-00-0000为她退货。
这是我的查询。
select C.customer_id , date(O.order_datetime)
from table_customers C
INNER JOIN table_orders O ON C.customer_id = O.customer_id
group by O.customer_id order by O.order_datetime desc limit 1;
Run Code Online (Sandbox Code Playgroud)
它仅返回最后一位客户的最后订单日期。
如何获取所有客户的最后订单日期?
我想为每个日期创建一个分位数列。计算每个唯一值销售值的分位数。即类别始终对应于每个特定日期的相同销售数字。
\n\n我有按日期索引的数据框。有许多日期和多个相同的日期。1 天 df 的子集示例:
\n\n Category Sales Ratio 1 Ratio 2\n11/19/2016 Bar 300 0.46 0.96\n11/19/2016 Bar 300 0.56 0.78\n11/19/2016 Bar 300 0.43 0.96\n11/19/2016 Bar 300 0.47 0.94\n11/19/2016 Casino 550 0.92 0.12\n11/19/2016 Casino 550 0.43 0.74\n11/19/2016 Casino 550 0.98 0.65\n11/19/2016 Casino 550 0.76 0.67\n11/19/2016 Casino 550 0.79 0.80\n11/19/2016 Casino 550 0.90 0.91\n11/19/2016 Casino 550 0.89 0.31\n11/19/2016 Caf\xc3\xa9 700 0.69 0.99\n11/19/2016 Caf\xc3\xa9 700 0.07 0.18\n11/19/2016 Caf\xc3\xa9 700 0.75 0.59\n11/19/2016 Caf\xc3\xa9 700 0.07 0.64\n11/19/2016 Caf\xc3\xa9 700 0.14 0.42\n11/19/2016 Caf\xc3\xa9 700 0.30 …Run Code Online (Sandbox Code Playgroud) 假设有一个 SQL 表:testTable,其中包含以下列:clientID、colA、colB、colC。
reference clientID colA colB colC
---------------------------------------------
001 1 test1 test2 test3
002 1 test1 ball2 test3
003 2 test1 ball2 test3
004 2 test1 ball2 test3
005 3 test1 test2 test3
006 4 test1 test2 test3
007 4 test1 test2 test3
009 5 test1 ball2 test3
---------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我想选择所有不同的行,其中 colB 类似于“test”并按 clientID 进行分组。所以我最终得到:
reference clientID colA colB colC
----------------------------------------------
001 1 test1 test2 test3
005 3 test1 test2 test3
006 4 test1 test2 test3
----------------------------------------------
Run Code Online (Sandbox Code Playgroud)
编辑:如果我使用 select unique …
我有 2 列 - _a,_b。
import numpy as np
import pandas as pd
df = pd.DataFrame({'_a':[1,1,1,2,2,3,3],'_b':[3,4,5,3,3,3,9], 'a_b_3':[3,3,3,1,1,2,2]})
df
_a _b a_b_3
0 1 3 3
1 1 4 3
2 1 5 3
3 2 3 1
4 2 3 1
5 3 3 2
6 3 9 2
Run Code Online (Sandbox Code Playgroud)
我需要使用 pandas 的 groupby 创建列 a_b_3 (来自列“_b”的唯一计数)。先感谢您。
我有一个包含三列的表:
[ID] [name] [link]
1 sample_name_1 sample_link_1
2 sample_name_2 sample_link_2
3 sample_name_3 sample_link_3
Run Code Online (Sandbox Code Playgroud)
我需要以某种方式将它们组合成一列,所以理想的结果是这样的:
[one_column]
1
sample_name_1
sample_name_1
2
sample_name_2
sample_link_2
3
sample_name_3
sample_link_3
Run Code Online (Sandbox Code Playgroud)
有没有人对在哪里查看以及如何在 SQL Server 中完成它有任何建议?
我有4个文件:
MCD18A1.A2001001.h15v05.061.2020097222704.hdf
MCD18A1.A2001001.h16v05.061.2020097221515.hdf
MCD18A1.A2001002.h15v05.061.2020079205554.hdf
MCD18A1.A2001002.h16v05.061.2020079205717.hdf
Run Code Online (Sandbox Code Playgroud)
我想在列表中按名称(日期:A2001001 和 A2001002)对它们进行分组,如下所示:
[[MCD18A1.A2001001.h15v05.061.2020097222704.hdf, MCD18A1.A2001001.h16v05.061.2020097221515.hdf], [MCD18A1.A2001002.h15v05.061.2020079205554.hdf, MCD18A1.A2001002.h16v05.061.2020079205717.hdf]]
Run Code Online (Sandbox Code Playgroud)
我使用 Python 完成了此操作,但我不知道如何使用 R:
# Seperate files by date
MODIS_files_bydate = [list(i) for _, i in itertools.groupby(MODIS_files, lambda x: x.split('.')[1])]
Run Code Online (Sandbox Code Playgroud)