2017-09-24 47 views
-2

我有这样排序结果由单元格的值

============================ 
| 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 

但它显示所有名称

,需要通过关键细胞 我预计产出排序

sara (3 keys) 
jhon (1 key) 
+0

我不明白:为什么包含'jhon'的两行有相同的ID?为什么'sara'有3个键(我只有2个)?在你期望有人帮助你之前,你将不得不更好地解释你的问题。 – Binarus

+0

这个问题的状态是什么?如果解决了,那么给出的答案应该被接受。 –

回答

2

您正在搜索的函数被调用group by排序表。

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 

group by一些例子搜索(这里也对堆栈溢出),并检查了不同的结果。

您正在寻找的其他功能叫做order by

请阅读关于sql的一些书或教程,这是非常基本的东西。