1

我正在开发一个 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 是否具有与此相同的替代功能。

感谢您的任何帮助,您可以提供。

4

1 回答 1

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
于 2013-04-23T20:04:12.320 回答