msSQL 根据2个条件进行重新排序并增加一个排序字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了msSQL 根据2个条件进行重新排序并增加一个排序字段相关的知识,希望对你有一定的参考价值。

参考技术A ORDER
BY
后可加2个字段,用英文逗号隔开。
1、f1用升序,
f2降序,sql该这样写;
ORDER
BY
f1,
f2
DESC
2、也可以这样写,更清楚;
ORDER
BY
f1
ASC,
f2
DESC
3、如果都用降序,必须用两个desc;
ORDER
BY
f1
DESC,
f2
DESC

如何根据数据属性对div进行排序,并更改下拉列表

我有一个结果页面,以div形式呈现结果。这些div有几个数据属性,我想用它们来重新排序它们的升序和降序。

例如:

<div data-price="15000" data-pet="1" data-balcony="0">content</div>    

我想用下拉选项对它们重新排序

<select>
<option value="0">Sort by</option>
<option value="1">Low price to high</option>
<option value="2">high price to low</option>
</select>

有人可以帮忙吗? div的数量是可变的。

答案

如果数据很多,那么在浏览器上执行此操作可能会非常慢,最好在服务器上执行此操作。

这是一个使用jQuery的脏解决方案。

var rooms = $('.room');
var roomList = $('#room-list');

$('#price-sort').change( function() {
    if($(this).val() == 1){
       sortAsc();
    }
    else if($(this).val() == 2){
        sortDesc();
    }
});

function sortAsc(){
    roomList.empty();
    rooms.sort(function(a, b){
      return $(a).data('price')-$(b).data('price')
    });
    roomList.append(rooms);
}
function sortDesc(){
    roomList.empty();
    rooms.sort(function(a, b){
      return $(b).data('price')-$(a).data('price')
    });
    roomList.append(rooms); 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="price-sort">
<option value="0">Short by</option>
<option value="1">Low price to high</option>
<option value="2">high price to low</option>
</select>

<div id="room-list">
<div data-price="15000" data-pet="1" data-balcony="0" class="room">First - Price: 15000</div>
<div data-price="95000" data-pet="1" data-balcony="0" class="room">Second - Price: 95000</div>
<div data-price="65000" data-pet="1" data-balcony="0" class="room">Third - Price: 65000</div>
<div data-price="9000" data-pet="1" data-balcony="0" class="room">Fourth - Price: 9000</div>
<div data-price="10000" data-pet="1" data-balcony="0" class="room">Fifth - Price: 10000</div>
</div>

以上是关于msSQL 根据2个条件进行重新排序并增加一个排序字段的主要内容,如果未能解决你的问题,请参考以下文章

如何根据条件按 1 个表达式或 2 个表达式排序?

如何根据数据属性对div进行排序,并更改下拉列表

根据ggplot中的两个条件对条形图进行排序

带有geom_tile的热图如何在不使用构面的情况下根据另一个因素进行划分和重新排序

根据条件c ++重新排序priority_queue

使用concat和sort来针对性处理数组内嵌套多数组,并根据条件来进行排序