标签: group-by

当将 COUNT 与 GROUP BY 一起使用时,MySQL 包含零行

我正在尝试执行一个查询,该查询通过名为 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 和每种类型剩余的未售出产品数量。如果至少还剩下一个,则此操作可以正常工作,但是如果存在零计数行,则不会在结果集中返回该行。

如何为那些没有任何相应行进行计数的类型设置虚拟行?

任何建议将不胜感激。

谢谢

mysql group-by count

0
推荐指数
1
解决办法
9113
查看次数

按时间戳月份分组

我试图按两次分组,一次按单个级别字段分组,然后按时间戳字段的月份分组。

对 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)

sql timestamp group-by teradata

0
推荐指数
1
解决办法
4348
查看次数

Mysql 选择值大于1的GROUP BY

您好,我想按 file_serial 进行分组,但仅当file_serial > 1时,这意味着值不大于 1 的重复 file_serial

当前表

所以它应该看起来像

求购桌子

任何想法如何,那就太好了。谢谢。

mysql select group-by

0
推荐指数
1
解决办法
3781
查看次数

Oracle 中的 SQL 查询中带有 HAVING 子句的 1 和 2 是什么意思?

我在 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)

输出是“未找到行”我期望第二行作为输出。请解释原因。

sql oracle group-by having-clause

0
推荐指数
1
解决办法
1221
查看次数

如何在mysql中为每个客户选择最后订单日期

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)

它仅返回最后一位客户的最后订单日期。

如何获取所有客户的最后订单日期?

mysql sql database group-by

0
推荐指数
1
解决办法
7313
查看次数

使用 Quantile 函数在 pandas 分位数中创建新列

我想为每个日期创建一个分位数列。计算每个唯一值销售值的分位数。即类别始终对应于每个特定日期的相同销售数字。

\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)

python group-by quantile pandas

0
推荐指数
1
解决办法
8201
查看次数

SQL 具有类似条件的分组依据

假设有一个 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 …

sql sql-server group-by where-clause sql-like

0
推荐指数
1
解决办法
3605
查看次数

计算每组唯一值的数量

我有 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”的唯一计数)。先感谢您。

python group-by dataframe pandas pandas-groupby

0
推荐指数
1
解决办法
548
查看次数

SQL 将三列合并为一

我有一个包含三列的表:

[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 中完成它有任何建议?

sql sql-server group-by sql-order-by

0
推荐指数
1
解决办法
53
查看次数

如何根据名称对列表中的文件进行分组?

我有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)

filenames split group-by r python-itertools

0
推荐指数
1
解决办法
30
查看次数