1、不排序时的查找语句:
SELECT * FROM message WHERE talker = 'wxid_0930479303212' limit 200 offset 0
message 为表名,talker 为列名。
此语句的意思是:从message 表中查找 talker 等于wxid_0930479303212的数据,从第一个开始,向后取200个数据。
2、如果想对数据库中的数据,先按时间先后排序(列createTime ),再取出200个数据,sql语句为:
SELECT * FROM (SELECT * FROM message ORDER BY createTime ASC) WHERE talker = 'wxid_0930479303212' limit 220 offset 0
createTime 为列名。
是用排序语句 (SELECT * FROM message ORDER BY createTime ASC) 代替 1中的 message,
3、以某两列之和的降序排列(这两列都是整型)
SELECT * FROM (SELECT * FROM message ORDER BY smsCount+callCount DESC) limit 20 offset 0
smsCount 和 callCount 是两列的列名,且都是int型数据。
4、不区分大小写的查询(COLLATE NOCASE)
SELECT * FROM logs WHERE account='Test' COLLATE NOCASE
联合查询:
CString sql;
sql.Format(L"SELECT * FROM (SELECT * FROM logs WHERE account='%s' COLLATE NOCASE AND time LIKE '%s%%' ORDER BY time DESC) limit %d offset %d",
stSearch.accout.c_str(), stSearch.timeFormat.c_str(), pageSize, offset);
splite3中执行通过。