1
有没有办法在使用GROUP BY时聚合sqlite中两条记录的BLOB(二进制)。如何连接blob?
已经尝试过withouth的成功:
1)从SQLite的文档GROUP_CONCAT功能,但它并不适用于BLOB数据类型的工作,它只返回1,即使2分的BLOB明显高于大字节。
SELECT id, GROUP_CONCAT(blob_col)
FROM table
GROUP BY id
2)通过Python SQLITE3 “create_aggregate” 功能
import sqlite3
class BlobConcat:
def __init__(self):
self.count = buffer("")
def step(self, value):
print str(value)
self.count += value[:]
def finalize(self):
return self.count
con = sqlite3.connect(dbPath)
con.create_aggregate("BLOB_CONCAT", 1, BlobConcat)
sql = """SELECT id, BLOB_CONCAT(blob_col)
FROM table
GROUP BY id"""
而且只返回1个字节定义自己的SQL函数。
不错,谢谢! – Hangon