gpt4 book ai didi

sql - 根据列值只为 MySQL 选择一次记录

转载 作者:行者123 更新时间:2023-11-29 05:44:51 24 4
gpt4 key购买 nike

我有一个存储交易信息的表。每笔交易都有一个唯一的(自动递增的)id 列,一个包含客户 ID 号的列,一个名为 bill_paid 的列,它指示客户是否已为交易付款,是或否,以及其他一些列,其中包含与我的问题无关的其他信息。

我想从交易表中选择所有尚未支付账单的客户 ID,但如果客户有多次未支付账单的交易,我不想多次选择它们。这样我就可以为该客户生成一张账单,其中包含他们欠的所有交易,而不是为每笔交易单独开一张账单。我将如何构建为我执行此操作的查询?

最佳答案

为每个 bill_paid 等于“no”的客户准确返回一个 customer_id:

SELECT 
t.customer_id
FROM
transactions t
WHERE
t.bill_paid = 'no'
GROUP BY
t.customer_id

编辑:
GROUP BY 汇总您的结果集。
警告:所选的每一列都必须“分组依据”或以某种方式聚合。如图nikic您可以使用 SUM 来获取欠款总额,例如:

SELECT 
t.customer_id
, SUM(t.amount) AS TOTAL_OWED
FROM
transactions AS t
WHERE
t.bill_paid = 'no'
GROUP BY
t.customer_id

t 只是一个别名。
因此,您现在无需在任何地方键入事务,只需键入 t。别名在这里不是必需的,因为您只查询一个表,但我发现它们对于更大的查询非常有用。您可以选择键入 AS 以更清楚地表明您正在使用别名。

关于sql - 根据列值只为 MySQL 选择一次记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3327125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com