sql语句:查询、排序、不区分大小写查询,及联合使用


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中执行通过。

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM