Select将多个 ID 合二为一 Select
Selecting Multiple ID's in one Select
我有一个数据库,其中的条目必须组合在一起
id | Name | Surname | Time
1 | Michael | Kane | 3
2 | Torben | Dane | 4
3 | Dinge | Chain | 5
4 | Django | Fain | 5
5 | Juliett | Bravo | 6
6 | Django | Fain | 7
7 | Django | Fain | 3
8 | Django | Fain | 4
9 | Dinge | Chain | 4
10 | Torben | Dane | 4
现在我想在维护所有 ID 的同时对项目进行分组。我即将完成以下查询,但我丢失了我的 ID
SELECT id, Name, Surname, sum(Time) from Names group by(Name)
查询结果为
id | Name | Surname | Time
9 | Dinge | Chain | 9
8 | Django | Fain | 19
5 | Juliett | Bravo | 6
1 | Michael | Kane | 3
10 | Torben | Dane | 8
虽然我需要这样的所有 ID
ids | Name | Surname | Time
3,9 | Dinge | Chain | 9
4,6,78 | Django | Fain | 19
5 | Juliett | Bravo | 6
1 | Michael | Kane | 3
2,10 | Torben | Dane | 8
我怎样才能做到这一点?
您可以使用 group_concat()
:
select group_concat(id, ',') as ids, name, surname, sum(time) as time
from table t
group by name, surname;
只是不要将结果存储回数据库中。逗号分隔值对于返回结果很有用,但它是在数据库中存储数据的错误格式。
我有一个数据库,其中的条目必须组合在一起
id | Name | Surname | Time
1 | Michael | Kane | 3
2 | Torben | Dane | 4
3 | Dinge | Chain | 5
4 | Django | Fain | 5
5 | Juliett | Bravo | 6
6 | Django | Fain | 7
7 | Django | Fain | 3
8 | Django | Fain | 4
9 | Dinge | Chain | 4
10 | Torben | Dane | 4
现在我想在维护所有 ID 的同时对项目进行分组。我即将完成以下查询,但我丢失了我的 ID
SELECT id, Name, Surname, sum(Time) from Names group by(Name)
查询结果为
id | Name | Surname | Time
9 | Dinge | Chain | 9
8 | Django | Fain | 19
5 | Juliett | Bravo | 6
1 | Michael | Kane | 3
10 | Torben | Dane | 8
虽然我需要这样的所有 ID
ids | Name | Surname | Time
3,9 | Dinge | Chain | 9
4,6,78 | Django | Fain | 19
5 | Juliett | Bravo | 6
1 | Michael | Kane | 3
2,10 | Torben | Dane | 8
我怎样才能做到这一点?
您可以使用 group_concat()
:
select group_concat(id, ',') as ids, name, surname, sum(time) as time
from table t
group by name, surname;
只是不要将结果存储回数据库中。逗号分隔值对于返回结果很有用,但它是在数据库中存储数据的错误格式。