SQL 问题 如何这样排序 先一个字段,后在另外一个字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 问题 如何这样排序 先一个字段,后在另外一个字段相关的知识,希望对你有一定的参考价值。
表名Test字段
ID---Number---AType---AddDate
1----A1------YES-----2010-8-17
2----A2------YES-----2010-8-17
3----A1------NO-----2010-8-17
4----A1------NO-----2010-8-17
5----A2------NO-----2010-8-17
先按A1的输出,然后YES优先,然后是NO
结果是ID:1,3,4,2,5
YES只有一个
如何用SQL语句写
A1不是固定值,也可能是B1,C1,XXXX1
第一次是按Number的值 然后 然后全部Number一样的,后在Yes优先读取,在NO
输出全部的,不是Number='A1' 之类的,先按Number的值,在按Yes的
select * from test order by number,atype desc
解释:
order by number,atype desc
此短语的作用是:
首先按number的值由小到大列记录,当此字段的值相同时,再按第二个字段atype 由大到小排记录 ,desc表示降序。默认是升序排列。 参考技术A select Number, AType, ID from Test
order by Number, Atype DESC, ID
说明:order by可以指定每个字段的排序规则,比如你这个要求就是Number增序(默认都是增序,故无需使用关键字)、ATyle降序(DESC的含义)、ID也是增序。本回答被提问者采纳 参考技术B select * from test where Number like '%1' order by Number,AType desc
union all
select * from test where Number not like '%1' order by Number,AType desc 参考技术C 二楼的正确
sql中 如何判断一个字符串是不是包含另外一个字符串
现在有2个表
表A
字段 AID name
1 啊哦额就好
2 日体育查询
3 新成程序我
表B
字段 BID name
001 查体
002 好哦
003 程序新
004 新程序
现在需要获得A.name字段包含B.name的AID与BID
最终结果图:
AID BID
1 002
2 001
3 003
3 004
请问这样需要怎么实现?
WHERE (A.nameLIKE '%查%') AND (A.nameLIKE '%体%')
只能说完全用sql语句实现,有点难吧!
string name = "查体";
char[] NameChar = name.ToArray();
string SqlStr = "select * from A ";
for (int i = 0; i < NameChar.Count(); i++)
if (i == 0)
SqlStr += "where A.name LIKE'%" + NameChar[0] + "%'";
else
SqlStr += " and A.name LIKE'%" + NameChar[i] + "%'";
可以告诉你,没有关联查一个表还行,两个表都来不太可能。 而且你对关联查询理解有误!多看下概念。 参考技术A 你都毫无关联,怎么可能出现你的结果呢??
增加一个关联啦
以上是关于SQL 问题 如何这样排序 先一个字段,后在另外一个字段的主要内容,如果未能解决你的问题,请参考以下文章