1.实现结果描述:
数据库有id,name,crdate
1.先对数据按照crdate进行排序;
2.对name相同的进行分组(不同的name中crdate大的排前面,相同的name中crdate大的排前面)。
问题的详细描述地址:先排序再分组再排序
2.效果展示
3.数据库实现:先排序再分组,再排序
select t.name,t.crdate
from testor t
left join(
select name,max(crdate) as tr from(
select name, crdate
from testor
order by crdate desc
)q group by q.name
)o on t.name = o.name
order by o.tr desc,t.name,t.crdate desc;
4.组内元素合并
将name相同的进行合并(boottrap-table实现)
1.jsp页面和js代码
//1..jsp
//引入bootstrap-table所需要的js和css
<div class="main-cont o-auto" >
<table id="tableId" class="table-condensed" >
</table>
</div>
//2..js
function getTaleDetail(){
$("#tableId").bootstrapTable('destroy');
$('#flightDetail').bootstrapTable({
url: "请求路径",
pagination: true,
contentType: "application/x-www-form-urlencoded",
dataType: "json",
method: "post",
striped:true,
queryParamsType:'',
sidePagination: "server",
pageNumber:1,
pageSize: 10, //分页的页面大小
pageList: [5, 10, 20],
queryParams: function getParams(params) {
//params.name= xx; 传递的参数
//params.crdate= xx;
return params;
},
clickToSelect:true,
buttonsAlign: "left",//按钮对齐方式
onLoadSuccess : function(data) {
var data = $('#tableId').bootstrapTable('getData', true);
//合并单元格
mergeCells(data, "name", 1, $('#tableId'));
},
columns: [
{
title: "名字",
field: "name",
visible:true
},
{
title: "日期",
field: "crdate"
}, ],
locale: "zh-CN"//中文支持
});
}