包含SQL查询中的ID作为参数的python列表

时间:2019-06-25 16:13:07

标签: python mysql sql

我有一个ID列表

id = [339, 344, 340, 343, 345, 342, 341]

已按照此链接here中的方式进行选择, 这是代码

mycursor.execute("SELECT * FROM news_tb where id IN ({})".format(",".join([str(i) for i in hasil])))

但结果是按顺序

[(339, '..'), (340, '..'), (341, '..'), (342, '..'), (343, '..'), (344, '..'), (345, '..')]

我希望数据输出根据列表中的ID是连续的。谢谢

2 个答案:

答案 0 :(得分:1)

结果=已排序(结果,键= lambda x:id.index(x [0]))

答案 1 :(得分:0)

假设结果在results中,

r_dict = dict([r[0],r[1:]] for r in results)
ordered_results = [tuple([i]+list(r_dict[i])) for i in id]
print(ordered_results)

将打印所需的列表。