MySQL Count all 和 Count distinct 超过 2 列相同的查询

标签 mysql sql

目前我有以下查询来计算购买特定商品时具有不同(客户用户名和商店 ID)的行数。我如何计算同一查询中 item_id = 3 的总行数?

SELECT count(*)
FROM (
SELECT DISTINCT customer_username, store_id
FROM transactions
WHERE item_id = 3)

最佳答案

你可以尝试这样的事情:

SELECT COUNT(*), SUM(customer_cnt) FROM (
    SELECT customer_username, store_id, COUNT(*) AS customer_cnt
      FROM transactions
     WHERE item_id = 3
     GROUP BY customer_username, store_id
) t;

关于MySQL Count all 和 Count distinct 超过 2 列相同的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28311822/

相关文章:

sql - 协助自动递增主键

mysql - 如何通过替换其他表中两个字段的值来选择表中的所有记录?

javascript - PHP - 获取表格中显示的总值

MySQL 全文搜索 ORDER BY 列

php - 如何将 SQL 查询与 PHP 脚本结合起来

php - 仅返回在 MYSQL 查询中找到的记录数

mysql - 如何合并两个里面有 "count"的表

c# - 主动拒绝 C# 与 Ubuntu MySQL 服务器的连接

php - file_get_contents 不适用于 tmp 文件

mysql - 从表中选择排除表 2 中的值?