[英]Query table for id of distinct value
我有一個表,有時會重復多個值。 ex(1,'test',2,'test,3,'somevalue',4,'somevalue'等)
因此,基本上我想做的就是在表中查詢所有不同的值及其ID。 我是sqlalchemy
新手,似乎無法弄清楚該怎么做。
這就是我現在所擁有的:
reportTypes = DBSession.query(TDeviceType.sDeviceType).distinct()
其中sDeviceType是我的字符串值,ixDeviceType是我的ID。 但是,此查詢僅返回不同的值。 有什么建議么? 我可以為每個值做一個循環並獲取ID,但這似乎是一個壞主意
相當於我想做的事:
select distinct(sDeviceType), ixDeviceType FROM TDeviceType
如果我正確理解了這個問題,則需要每個值的ID列表。 盡管在純SQLAlchemy中可能有一種方法可以執行此操作,但在Python中似乎很簡單。
reportTypes = {}
for id, value in DBSession.query(TDeviceType.ixDeviceType, TDeviceType.sDeviceType):
reportTypes.setdefault(value, []).append(id)
print reportTypes # looks like {'test': [1, 2], 'somevalue': [3, 4]}
每個鍵是不同的sDeviceType
,每個值是ixDeviceType
的列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.