我有一个带有两列的表格:一对夫妻的ID和该夫妻的“分数”数量。 我想要一个结果,该结果列出了每个值为x时具有x或更多分数的夫妻数量。 因此,我的输入如下:
| couple_id | num_marks |
|-----------+-----------|
| 9 | 7 |
| 6 | 6 |
| 8 | 6 |
| 2 | 5 |
| 3 | 4 |
| 5 | 4 |
| 1 | 3 |
| 4 | 3 |
| 10 | 2 |
| 7 | 1 |
我想得到以下结果: | num_marks | num_couples | |-----------+-------------| | 7 | 1 | | 6 | 3 | | 5 | 4 | | 4 | 6 | | 3 | 8 | | 2 | 9 | | 1 | 10 |
也就是说,有1对夫妇拥有7个或更多分数,有3对夫妇拥有6个或更多分数,有4对夫妇拥有5个或更多分数等等。我已经能够提出一个查询,以返回恰好n个分数的夫妇数量:
这段文字描述了一个包含两列数据的表格,第一列是num_marks(标记数),第二列是num_couples(配对数)。每行数据表示相应标记数的配对数。例如,有1个标记数为7的配对,2个标记数为6的配对,1个标记数为5的配对等等。作者询问是否有一种方便的方法来有效地将每行的值与其上面的值相加?作者可以在应用程序级别上完成此操作,但似乎这种操作更适合在数据库中进行。
我想得到以下结果: | num_marks | num_couples | |-----------+-------------| | 7 | 1 | | 6 | 3 | | 5 | 4 | | 4 | 6 | | 3 | 8 | | 2 | 9 | | 1 | 10 |
也就是说,有1对夫妇拥有7个或更多分数,有3对夫妇拥有6个或更多分数,有4对夫妇拥有5个或更多分数等等。我已经能够提出一个查询,以返回恰好n个分数的夫妇数量:
SELECT num_marks,
count(couple_id) AS num_couples
FROM table_name
GROUP BY num_marks
ORDER BY num_marks DESC;
这段文字描述了一个包含两列数据的表格,第一列是num_marks(标记数),第二列是num_couples(配对数)。每行数据表示相应标记数的配对数。例如,有1个标记数为7的配对,2个标记数为6的配对,1个标记数为5的配对等等。作者询问是否有一种方便的方法来有效地将每行的值与其上面的值相加?作者可以在应用程序级别上完成此操作,但似乎这种操作更适合在数据库中进行。
SELECT
作为列。这是标准的SQL,适用于SQLite和Postgres吗?此外,我的table_name
实际上并不是一个表,而是一个大而复杂的SELECT
语句;这会破坏它吗? - haxney