mySQL select count,多个表

2024-01-02

我有三张桌子:

table1, table2, table3

我试图获取每个表中的总行数以及价格列的总和,例如:

$r['count'] = total rows of all 3 tables combined;
$r['price'] = sum of all prices added together in all 3 tables combined;

这是我的查询:

SELECT COUNT(*) AS `count`, SUM(price) AS `price` FROM `table1` UNION
SELECT COUNT(*) AS `count`, SUM(price) AS `price` FROM `table2` UNION
SELECT COUNT(*) AS `count`, SUM(price) AS `price` FROM `table3`

当我运行此查询时,我得到:

count   price
19      5609399
8       946000
4       0

当在 PHP 中循环时,这又不起作用,因为它们是 3 个单独的值,而我只返回“count = 19 and Price = 5609399”。它们并不是全部都加在一起count or price.

任何帮助是极大的赞赏 :)


SELECT COUNT(*) AS `count`, SUM(price) AS `price`
FROM
(
SELECT price from `table1` UNION ALL
SELECT price FROM `table2` UNION ALL
SELECT price FROM `table3`
) X

或者通常组合 3 对值

select sum(`count`) `count`, sum(`price`) `price`
FROM
(
SELECT COUNT(*) AS `count`, SUM(price) AS `price` FROM `table1` UNION ALL
SELECT COUNT(*) AS `count`, SUM(price) AS `price` FROM `table2` UNION ALL
SELECT COUNT(*) AS `count`, SUM(price) AS `price` FROM `table3`
) X

一般来说,在合并表时使用 UNION ALL,而不是 UNION,因为 UNION 删除了重复项,所以如果您的计数/总和恰好是

1, 100
1, 100
2, 200

联合查询的结果是

1, 100    # duplicate collapsed
2, 200
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mySQL select count,多个表 的相关文章

  • MySQL 错误“连接过多”

    我正在将 MySQL 5 0 用于由 GoDaddy linux 托管的网站 我正在对我的网络应用程序进行一些测试 突然我注意到页面刷新速度非常慢 最后 经过漫长的等待 我到达了一个页面 上面写着 MySQL 错误 连接太多 它指向我连接到
  • 保护存储过程

    我想知道是否有一种方法可以对某些用户隐藏存储过程的文本 我正在使用 MySQL 5 1 48 和 Net Connector 6 2 3 以及 Visual Studio 2008 SP1 我在 MySQL 中有两个用户 一个是 root
  • 升级到 Yosemite 后 Apache 配置损坏

    昨天我升级到 Yosemite 现在我的 Web 开发本地配置不再起作用 我设法在下面设置了一个 userdir Users user public html我可以通过以下方式访问所有网站localhost user websitename
  • 设置了 @version $Id$ 的 SVN Checkout

    我在 Subversion 中进行开发 在每个 PHP 文件的顶部都有以下注释块
  • Laravel eloquent 获取关系数

    我使用 Laravel 5 3 我有 2 张桌子 Articles id cat id title And Category id parent id title 我在模型中定义了我的关系 Article model public func
  • MySQL 存储过程、Pandas 和“执行多个语句时使用 multi=True”

    注意 正如下面 MaxU 所建议的 该问题特定于 mysql connector 如果您使用 pymysql 则不会出现该问题 希望这可以帮其他人省去一些麻烦 使用Python Pandas 和mySQL 根本无法让存储过程返回结果 更不用
  • 将 WordPress 的登录/注册页面重定向到自定义登录/注册页面

    我有一个网站 有一个用户系统 我想将 WordPress 的用户系统集成到该网站的用户系统中 但我仍然想使用该网站的注册 登录页面 我不希望任何人能够使用 Wordpress 的登录或注册表单登录或注册 相反 当他们尝试访问 Wordpre
  • sql连接一个表中的两个字段

    我有一个预订表 其中有两个人 我想将 person 1 作为一行返回 将 person 2 作为新行返回 但该人的 id 与人员表相关 这是我所得到的 但没有提取预订信息 SELECT people FROM select booking
  • 在评论中查找不同风格的日期

    我还有一个问题要问preg match 我有一个表 其中评论的日期写在评论本身内 手动 现在我需要提取该日期并将其放置在不同的列中 我发现评论和日期的样式如下 id warning sent warning date 6109 2011 0
  • WordPress 子主题 style.css 不起作用

    我创建了一个与父主题格式相同的文件结构 我的父主题称为 Alpine Alpine 中有一个functions php 和style css 文件 似乎没有任何其他 style css 文件 我创建了一个名为 Alpine child 的目
  • PHP - 为什么使用 Guzzle 而不是 cURL?

    在我的应用程序中 我最初开始使用 cURL 从各种 API 检索数据 今天 我尝试使用 Guzzle 来完成同样的任务 到目前为止 cURL 和 Guzzle 似乎都工作得同样好 判断依据Github https github com gu
  • 在 VS Code 中调试 PHPUnit 测试?

    我最近配置了 VS code 以使用 xdebug 调试 PHP 它与我的应用程序代码一起可靠地工作 但是当我使用 PHPunit 运行单元测试时 我的断点被忽略 我的服务器在一个流浪盒子内运行 My php ini文件包含以下行 xdeb
  • 如何在 Centos 7 上手动安装 PHP-Zts

    我想安装 pthreads 当我尝试安装时 我会收到此错误 checking for ZTS no configure error pthreads requires ZTS please re compile PHP with ZTS e
  • 使用 Facebook API 在朋友的墙上发布帖子

    我希望我的 Facebook 应用程序能够获取使用该应用程序的用户的 ID 并在他们的一位朋友的墙上找到该 ID 发布的帖子 我更喜欢使用个人 ID 的示例 而不是迭代所有朋友 我认为两个用户很可能都必须向应用程序提供权限才能执行此操作 这
  • XML 和 INI 哪个更快?

    我想知道 XML 是否比 INI 更快 反之亦然 我正在开发一个包含许多文件的网站 这个问题与我的问题有关关于包含许多文件 https stackoverflow com questions 7777522 too many include
  • 选择列表包含非聚合列

    自从更新 MySQL 以来 我注意到以下查询失败 SELECT u p name as plan COUNT u id as totalprojects FROM users u LEFT JOIN plans p ON p id acce
  • 如何使用默认约束为mysql中的列创建随机数?

    DEFAULT 约束在接受字符串或当前日期值方面没有问题 我需要的是一个约束 每次创建实体时都会创建一个随机的 4 位数字 我尝试了以下代码 但它返回语法错误 ALTER TABLE client number ADD 代码 INT 4 D
  • 使用 Javascript 编辑和保存用户 HTML - 安全性如何?

    例如我有一个Javascript 支持的表单创建工具 您可以使用链接添加元素的 html 块 如输入字段 并使用 TinyMCE 来编辑文本 这些是通过自动保存功能保存的 该功能在特定事件的后台执行 AJAX 调用 被调用的保存函数负责数据
  • PHP:switch 与 if [重复]

    这个问题在这里已经有答案了 哪种形式更有效率 这个 switch var case 1 break case 2 break 或者这个 if var 1 elseif var 2 在性能方面 性能方面完全无关 As PHPBench htt
  • Doctrine 模型的默认排序属性

    我想知道是否有办法声明我的学说模型的默认顺序 e g 我有一个work模型并且它有photos 当我加载作品时 与其关联的所有照片都会加载到 work gt photos 当我显示它们时 它们是按 ID 排序的 在另一个字段上声明默认顺序或

随机推荐