Sqlite常用查询语句

首次发布:2017-05-17 11:50
2019-10-14 更新
//原创来自http://www.luofenming.com/show.aspx?id=ART2017051700001 转载请保留此地址
/*sqlite数据库统计某一字段记录中某条记录出现的次数*/
select count(字段) from 表名 where 字段='某条记录'

/*查询 字段2=225 的 最后一个字段1 的内容*/
select  max(rowid), 字段1 from 表名 where 字段2='225'

/*查询 字段2=225 的 第一个字段1 的内容*/
select  字段1 from 表名 where 字段2='225'  limit 0,1

/*查询字段 Kind不等于Sys IsLock='n'    字段Title包含  《注意》的总条数 */
select count(Title) from maindata where Kind <> 'Sys' and IsLock='n' and ( Title like '%注意%' )

/*查询字段ID,Title,SortID  条件  Kind='TAG' and IsLock='n'  顺序以SortID为倒序 的前10条*/
SELECT ID,Title,SortID FROM TagLink where Kind='TAG' and IsLock='n' order by SortID desc limit 0,10

/*查询字段ID,Title,SortID  条件  Kind='TAG' and IsLock='n'    随机10条*/
SELECT ID,Title,SortID FROM TagLink where Kind='TAG' and IsLock='n' order by RANDOM() limit 10

/*SQL   SQLite查询去掉重复记录*/
select distinct 字段 from 表

/*两个表组合查询 查找表SysType 并查找表Article 里面TypeID=s.TypeID的总条数 合列名为Total  */
SELECT TypeID,TypeName,(select count(1) from Article where TypeID=s.TypeID)Total  FROM SysType s 

/*SQLite分页查询  offset代表从第几条记录“之后“开始查询,limit表明查询多少条结果*/
select * from users order by id limit 10 offset 0;
/*在C#这样创建SQL语言更简洁 size:每页显示条数,index页码  asc desc倒序 也可以在GuestInfo 加where条件 */
string.Format("select * from GuestInfo order by GuestId desc limit {0} offset {0}*{1}", size, index-1);

/*SQLite查询第一条记录和最后一条记录*/
select rTime from 表 limit 0,1;
select rTime from 表 order by id desc limit 0,1;/*id为表的字段,如果表没有id这个字段  则用其它的字段*/

/*SQLite查询某字段最大值与最小值  2019-10-14*/
select MAX(字段) from 表 ;
select MIN(字段) from 表 ;