我正在开发一个C#项目,它有一个库来执行各种项目中的常见任务。
我在库中有一个函数,它从表中获取警报列表。此查询在MySQL中完成,但我现在需要与SQLite数据库相同的功能。
以下是我尝试从MySQL移植到Sqlite的查询。
SELECT id, min(date) as min_date, max(date) as max_date, type, partMsg, level, page, COUNT(partMsg) AS msgCount FROM (SELECT id, date, type, SUBSTRING_INDEX(message, ':', 1) AS partMsg, level, page FROM alarms a WHERE acknowledged='0') p GROUP BY partMsg
当我在Sqlite数据库上运行此查询时,它会抛出一个异常,指出SUBSTRING_INDEX不是一个有效的函数。 SQLite是否有一个与此相同的替代函数。
感谢您提供的任何帮助。
答案 0 :(得分:1)
尝试:
SELECT id, min(date) as min_date, max(date) as max_date, type, partMsg, level, page, COUNT(partMsg) AS msgCount FROM (SELECT id, date, type, substr(message, ':', 1) AS partMsg, level, page FROM alarms a WHERE acknowledged='0') p GROUP BY partMsg