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中執行通過。