php - 在 MySQL 查询中添加列数

标签 php mysql

我正在尝试实现一个奇怪的查询。我有一个这样的表:

表人

-----------------------
| id | name | family |
+----+------+--------+
| 1  |  Bob |  Smith |
+----+------+--------+
| 2  |  Joe | Smith  |
----------------------

我想返回一个这样的关联数组

id : 1
name : bob
family : smith
familySize : 2

像这样

"SELECT id, name, family, familySize FROM People"

我怎样才能把 familySize 放在那里?请记住,我的查询可能有很多家庭,我希望他们全部返回。

谢谢。

最佳答案

以上 2 个答案不适用于多个家庭。

你可以这样做:

SELECT id, name, family, familySize FROM People p1
JOIN (SELECT COUNT(*) as familySize, family FROM People GROUP BY family) p2
USING(family)

关于php - 在 MySQL 查询中添加列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26644985/

相关文章:

php - Laravel5 仅在 linux 中显示默认页面...在 windows 中同样有效

php - 如何将 Controller 放入 Laravel 5.1.3 的文件夹中?

php - php根据日期差异显示数据库中的数据

MySQL:在每天的订单列表中包含零订单的日子

mysql - ActiveRecord3 死锁重试

PHP for 循环运行超过它应该的

mysql - 在 MySQL 中选择连接子字符串并替换

mysql - 连接两个表而不计算错误的输出或缺少表中的 NULL 输出

mysql - 在 MySQL 中使用 GROUP BY 选择最新行

php - 需要重新格式化日期变量以匹配 mysql 中的日期函数