使用 SQL JOIN 和 COUNT

2023-12-01

假设有两张表,一张保存用户信息,一张保存某种类型的用户记录,例如收据。用户和收据之间存在一对多的关系。

检索用户(按最大收据数量排序)的最佳 SQL 方法是什么?

我能想到的最好方法是使用 join 和 count(?) 返回用户数组及其相关收据数量。

在这种情况下有没有办法使用 count 函数?

select * from `users` inner join `receipts` on `users`.`id` = `receipts`.`uId`

如果 OP 希望使用来自的数据包含附加信息(附加聚合等...)users table:

SELECT `users`.`id`,
       count(`receipts`.`uId`)
FROM `users`
INNER JOIN `receipts` ON `users`.`id` = `receipts`.`uId`
GROUP BY `users`.`id`
ORDER BY count(`receipts`.`uId`) DESC

否则,只有receipts需要表...

SELECT `users`.`id`,
       count(`receipts`.`uId`)
FROM `receipts`
GROUP BY `receipts`.`uId`
ORDER BY count(`receipts`.`uId`) DESC
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SQL JOIN 和 COUNT 的相关文章

  • 对许多站点使用中央数据库服务器:合理吗?

    基本上 我需要在多达几十个站点上同步数据库数据的某些部分 完美的解决方案是创建一个中央服务器来托管该数据 每个页面加载都必须从两个数据库服务器 本地和远程数据库服务器 获取数据 并且写入远程服务器也很常见 虽然数据库服务器在硬件方面可以达到
  • PHP:还记得我和安全吗?

    在我学习 PHP 如何支持 Unicode 的间隙 我一直在研究如何让我的 记住我 cookie 更加安全 然而 有一些事情我不明白 还有一些我自己的思考 我希望得到一些建议和意见 1 有没有什么方法可以采用不涉及cookie的 记住我 功
  • Woocommerce - 检查产品是否是在 60 天前创建的

    我想检查 Woocommerce 产品是否是在不到 60 天前创建的 如果属实 请做点什么 我正在使用官方 Woocmerce 功能获取在后端 管理中创建产品的日期 product gt get date created 我的代码部分有效
  • Laravel 显示按年或月分组的记录详细信息

    我刚刚迁移到 Laravel 框架 并开始迁移一些遗留站点 但我遇到了 SQL 或 Blade 的问题 不知道是哪个 我必须显示大量的 运动类别 行 这些行按年份和月份分组 每个人都需要出勤等 我不确定继续走哪条路 我能够显示所有行并按日期
  • 导出数据库的 CREATE 脚本

    假设我已经在 pgAdmin 中创建了一个数据库 但我想导出一个 CREATE sql 文件 我将如何生成转储 以下是如何使用 pgAdmin 创建一个架构脚本 该脚本可以与 PostgreSql 数据库架构比较工具 例如apgdiff h
  • 有没有办法使用 ON DUPLICATE KEY 来更新我想要插入的所有内容?

    我知道你可以使用ON DUPLICATE KEY UPDATE如果已经有该键的记录 则更新某个值 我可以做这个 INSERT INTO tableName a b c VALUES 1 2 3 ON DUPLICATE KEY UPDATE
  • 无法从 localhost/xampp 发送邮件

    无法连接到 mail google com 端口 587 上的邮件服务器 请验证您的 SMTP 和 smtp port 设置php ini or use ini set 我将 xampp php ini 和 sendmail ini 文件配
  • MySQL“错误 1005 (HY000):无法创建表 'foo.#sql-12c_4' (errno: 150)”

    我正在努力在数据库中创建一些表foo 但每次我最终都会得到关于外键的 errno 150 首先 这是我创建表的代码 CREATE TABLE Clients client id CHAR 10 NOT NULL client name CH
  • POST 数据加密 - HTTPS 足够吗?

    考虑一个场景 其中用户身份验证 用户名和密码 由用户在页面的表单元素中输入 然后提交 POST 数据通过 HTTPS 发送到新页面 其中 php 代码将检查凭据 现在 如果黑客位于网络中 并说可以访问所有流量 那么在这种情况下应用程序层安全
  • 将 SQL 查询的 SELECT 子句解析为 PHP 数组

    这更多的是用于分析 PHP 中的查询before它被发送到服务器 我这样做的原因非常复杂 所以我不想深究其原因 在 PHP 中 我需要将字段选择存储到 PHP 数组中 以这个查询为例 SELECT user id username DATE
  • 将 WooCommerce 属性标签替换为每个的自定义图像

    我正在做一个项目 我需要一些团体的帮助 我正在使用 woocommerce 产品系统 在商店存档页面产品上我显示属性标签 属性值 就像文本一样 属性标签 属性值 例如传输 手动 有没有办法将属性标签显示为图像 我无法添加 html 代码 i
  • PHP 数组比较

    如何比较两个数组 例如我有array a b c and array a c b 当它们进行比较时 它会返回 true 但如果其中一个字母没有在其中之一中找到 它将返回 false 顺序并不重要 在比较之前 您需要将两个数组的内容调整为相同
  • 尝试加载 php_oci8.dll 时 PHP 启动时出现警告

    我正在使用 XAMPP 并尝试为 sql 配置 Oracle 连接 我取消了该行的注释extension php oci8 dll一开始出现错误 缺少oci dll 但后来我从Oracle网页下载了instantclient 我尝试过版本
  • 在 MySQL 数据库中存储大文件的更好方法?

    我有一个 PHP 脚本 您可以使用它上传非常大的文件 最大 500MB 并且该文件的内容存储在 MySQL 数据库中 目前我做这样的事情 mysql query INSERT INTO table VALUES uploadedfile f
  • LINQ Join 运算符是否使用嵌套循环、合并或 HashSet 连接?

    有谁知道 LINQ 使用其 Join 运算符执行什么 Join 算法 是嵌套循环 合并还是哈希集 如果支持的话 有什么方法可以指定不同的吗 问候 阿尔伯特 首先 它有效地从 内部 序列创建查找 然后迭代外部序列 然后 它可以从外部序列中查找
  • 如何在 JPA/Hibernate 中执行本机 SQL 脚本?

    我有一个带有数据库转储的 SQL 脚本 我如何使用 Hibernate 执行它EntityManager 我这样尝试过 EntityManager manager getEntityManager Query q manager creat
  • 远程数据库的“com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障”

    我尝试连接到远程 MySQL 数据库 但失败并收到此错误 com mysql jdbc exceptions jdbc4 CommunicationsException Communications link failure 困惑的是 当我
  • 如何在 Laravel 8 中实现记住我?

    我有一个登录表单和一个记住我复选框 我希望如果用户在上次登录时选中 记住我 复选框 则自动填写用户名和密码 但目前不起作用 我正在使用 Laravel 中构建的 LoginController 登录控制器
  • Active Record 库的 CodeIgniter 挂钩

    我需要一些帮助来理解 CodeIgniter 的钩子逻辑 以使代码适应我的需要 这一页 https www codeigniter com user guide general hooks html https www codeignite
  • 在cakephp中调用函数

    public function data if old status prev lat lat prev long long if status Village Unknown exec query else if status Town

随机推荐