在我的数据库中,我有一个名为“结果”的表,其中包含四列(名称、设备、通过、失败)。假设表中有 4 行,如下所示。
name device passed failed
test1 device_1 2 1
test1 device_2 3 0
test2 device_1 1 2
test2 device_2 2 1
我想要以下结果:
[(test1,device_1,2,1),(test1,device_2,3,0)]
[(test2,device_1,1,2),(test1,device_2,2,1)]
是否有可能只对 DB 进行一次查询来获得该结果?
目前我正在查询数据库两次,首先获取不同名称的列表,然后获取具有该名称的行。下面是伪代码。
test_names = SELECT DISTINCT name FROM results
for test_name in test_names:
rows = SELECT * FROM results WHERE name=test_name
然后我正在处理行以获得我想要的对象结构。