猿问

sql语句处理问题

如下:有张表

id    sql_field
1     SELECT * FROM (`abc`) WHERE (telnu = "1" OR telnum2 = "2") ORDER BY `lastupdate` DESC;    
2     SELECT * FROM (`abc`) WHERE (telnu = "1" OR telnum2 = "22") ORDER BY `lastupdate` DESC; 
3     SELECT * FROM (`abc`) WHERE (telnu = "1" OR telnum2 = "12") ORDER BY `lastupdate` DESC; 
4     SELECT * FROM (`abc`) WHERE (telnu = "1" OR telnum2 = "42") ORDER BY `lastupdate` DESC; 
5     SELECT * FROM cdb WHERE digest<10 AND displayorder >=43 AND fid=55 ORDER BY tid DESC LIMIT 0, 10; 
6     SELECT * FROM cdb WHERE digest>30 AND displayorder >=12 AND fid=55 ORDER BY tid DESC LIMIT 0, 10; 
7     SELECT * FROM cdb WHERE digest>10 AND displayorder >=2 AND fid=55 ORDER BY tid DESC LIMIT 0, 10; 
                    。
                    。
                    。

里面的sql_field 字段中有很多类似但不重复的查询语句,怎么样一个类型的查询语句只保留一个呢,求指导

HUH函数
浏览 515回答 4
4回答

慕容3067478

把变动的数量当做参数传入查询语句中,比如第一类的telnu 和telnum2,每次调用的时候传入具体的查询值即可

慕桂英4014372

SELECT * FROM (`abc`) WHERE telnu = "1" OR telnum2 in("2","22","12","42") ORDER BY `lastupdate` DESC; SELECT * FROM cdb WHERE ( (digest<10 AND displayorder >=43) OR (digest>30 AND displayorder >=12) OR (digest>10 AND displayorder >=2) ) AND fid=55 ORDER BY tid DESC LIMIT 0, 10;

料青山看我应如是

between($xxx)

慕标琳琳

跟题主说一下,凌丶这个答案是不对的,between是在一个范围内,此处应该用in,一楼是正解
随时随地看视频慕课网APP
我要回答