簡體   English   中英

查詢表中具有不同值的ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM