Php 按单元格值对数据库中的结果进行排序
我有这样的数据库Php 按单元格值对数据库中的结果进行排序,php,mysql,Php,Mysql,我有这样的数据库 ============================ | id | name | value | key | ============================ | 1 | sara | | 1 | ============================ | 2 | sara | | 1 | ============================ | 3 | sara | 1 | | =========
============================
| id | name | value | key |
============================
| 1 | sara | | 1 |
============================
| 2 | sara | | 1 |
============================
| 3 | sara | 1 | |
============================
| 4 | jhon | | 1 |
============================
| 4 | jhon | 1 | |
============================
首先,我希望每个名称只得到一个结果
我的预期产出
jhon
sara
我用
select * from my_table
但它显示的是所有的名字
并且需要按键单元格对表进行排序
我对sort的预期输出
sara (3 keys)
jhon (1 key)
您正在搜索的函数称为
分组依据
SELECT name, SUM(key) FROM my_table GROUP BY name
您也可以使用其他聚合函数(不仅仅是SUM),这可能是您想要的
SELECT name, COUNT(*) FROM my_table GROUP BY name
SELECT name, COUNT(key) FROM my_table GROUP BY name
搜索分组依据的一些示例(这里也是关于堆栈溢出的),并查看不同的结果
您正在搜索的另一个函数称为orderby
SELECT name, SUM(key) FROM my_table GROUP BY name
请阅读一些关于sql的书籍或教程,这是非常基本的东西。我不明白:为什么包含jhon
的两行具有相同的id?为什么sara
有3把钥匙(我只数了2把)?在你期望有人帮助你之前,你必须更好地解释你的问题。这个问题的状态如何?如果问题解决了,那么给出的答案应该被接受。