如何在sqlite中的View中添加新列?

如何在sqlite中的View中添加新列?,第1张

概述我在sqlite(table1)中有这个数据库: +-----+-------+-------+| _id | name | level |+-----+-------+-------+| 1 | Mike | 3 || 2 | John | 2 || 3 | Bob | 2 || 4 | David | 1 || 5 | 我在sqlite(table1)中有这个数据库:

+-----+-------+-------+| _ID | name  | level |+-----+-------+-------+| 1   | Mike  | 3     || 2   | John  | 2     || 3   | Bob   | 2     || 4   | DavID | 1     || 5   | Tom   | 2     |+-----+-------+-------+

我想创建一个包含级别2的所有元素的视图,然后添加一个新列,指示新表中行的顺序.也就是说,我想要这个结果:

+-------+------+| index | name |+-------+------+| 1     | John || 2     | Bob  || 3     | Tom  |+-------+------+

我试过了:

CREATE VIEW words AS SELECT _ID as index,name FROM table1;

但后来我得到:

+-------+------+| index | name |+-------+------+| 2     | John || 3     | Bob  || 5     | Tom  |+-------+------+

我想它应该是这样的:

CREATE VIEW words AS SELECT XXXX as index,name FROM table 1;

我应该使用什么而不是XXXX?

解决方法 按_ID排序时,包含此行的行数与_ID值小于或等于此行的_ID的行数相同:

CREATE VIEW words AS  SELECT (SELECT COUNT(*)          FROM table1 b          WHERE level = 2            AND b._ID <= a._ID) AS "index",name  FROM table1 a  WHERE level = 2;

(计算本身实际上并不需要ORDER BY _ID,因为当我们只计算它们时,行的顺序无关紧要.)

请注意,保证不会对单词进行排序;如果需要,添加ORDER BY“index”.

当然,这不是很有效率.

总结

以上是内存溢出为你收集整理的如何在sqlite中的View中添加新列?全部内容,希望文章能够帮你解决如何在sqlite中的View中添加新列?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1157470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存