sql排序方式要根据另一个表的某个字段排序怎么实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql排序方式要根据另一个表的某个字段排序怎么实现?相关的知识,希望对你有一定的参考价值。

表a调用表b的size字段,记为c字段吧,表b的size字段排序后是10,25,as,ty,那么表a排序时按c字段在10,25,as,ty的先后顺序列出来,如何写啊?谢谢

可以通过两个表的关系,然后通过字段关联的形式排序。
sql:select t1.* from tablename1 t1, tablename2 t2 wehere t1.id=t2.id order by t2.name;
解释:实际上上面语句会通过 tablename2表的name字段先排序表tablename2数据,之后会通过id字段关联后,读取出id存在于tablename2表中存在的tablename1表的数据。

备注:上面表中的id字段的值肯定有相同的,如tablename1和 tablename2 表中id字段都存在值“1”,才可以有结果输出。如果两个表都没关联的话,无法实现。
参考技术A 加个标记,等着看结果... 参考技术B select A.* from A left join B on A.size=B.size order by B.size

js排序怎么根据父字段排序子字段

比如根据下面的name排序再排序type
var objs = [
'name': 'A', 'type': 'fly',
'name': 'A', 'type': 'blur',
'name': 'C', 'type': 'wipe',
'name': 'B', 'type': 'cube',
'name': 'E', 'type': 'iris',
'name': 'D', 'type': 'fade'
];

objs.sort(function(a,b)
return a.name - b.name;
);

function sortFun(a, b) 
        if (a.name == b.name)   //如果name相同,根据type排序
            return a.type > b.type;
        
        return a.name > b.name; //name不同,优先按name排序

    
console.log(objs.sort(sortFun));

输出结果:

参考技术A 把减号换成大于号,.name不是数字怎么能减呢追问

嗯,打错了,不过我想让这个数组现根据name来排序,再根据type来排序,怎么实现,求大佬帮助

以上是关于sql排序方式要根据另一个表的某个字段排序怎么实现?的主要内容,如果未能解决你的问题,请参考以下文章

用SQL语句设置某个字段的排序方式

es根据一个字段分组聚合另一个字段进行排序

sql 表1根据 表2关联字段 排序

sql 按字段指定值排序

java实现多表的自定义查询。

sql按某个字段值顺序排序