資料庫置頂
一個嵌套查詢就可以了啊
比如置頂為1,非置頂為0
select
*
from
(select
*
from
bbs
order
by
ctime
desc)
c
order
by
istop
desc
1.先查詢出按時間倒序結果集
2.在上一個結果集中查詢按置頂倒序的結果集
❷ 如何在sql server 2008資料庫中把數據置頂、上移、下移
資料庫不是干這個事的!
你定義個狀態欄位,或者取數據時排序就行了
❸ mysql中如何把查詢出來的其中一條信息置頂
個人理解
設一欄位UP 0為普通 1為置頂
讀取的的時候先讀取UP為1的數據
然後在讀取UP為0的數據
❹ 置頂時間功能,資料庫如何設計
這只是一個資料庫查詢的語句嘛 頂一個固頂的列,一個固頂到期時間的列,回復時間的列,例如: OnTop,OnTopTimeOut,ReplyTime 查詢的時候的條件是 where OnTop=1 And DateDiff('s',OnTopTimeOut,GetDate())>=0 Order By ReplyTime Desc
希望採納
❺ java中JTable 通過檢索搜索出某行的其中一個數據 將該行置頂並改變顏色 連資料庫多列數據咋辦
不是很明白你的要求。具體的操作是怎樣的的呢?
假設資料庫中有個學生表:
學號 姓名 年齡
001 張三 20
002李四 21
假設按姓名搜索,輸入搜索條件「張」:
情況1、根據搜索條件直接搜索資料庫記錄(通常都是這樣搜索),那從資料庫搜索出的記錄就只有姓名包含「張」的記錄,然後JTable中也就只展示這些記錄,就無所謂置頂不置頂啦。
情況2、只是根據搜索條件在當前JTable展示的數據中搜索,代碼如下:
importjava.awt.BorderLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.JTextField;
importjavax.swing.border.EmptyBorder;
importjavax.swing.event.TableModelEvent;
importjavax.swing.event.TableModelListener;
{
privateJPanelsearchPanel;
privateJTextFieldnumField;
;
privateJTextFieldnameField;
;
privateJTabletable;
;
publicJTableTest(){
super("SimpleJTableTest");
setSize(400,300);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
searchPanel=newJPanel();
searchPanel.setBorder(newEmptyBorder(3,3,3,3));
searchPanel.setLayout(newGridLayout(2,3,2,3));
searchPanel.add(newJLabel("學號"));
numField=newJTextField(20);
searchPanel.add(numField);
searchByNumButton=newJButton("按學號搜索");
searchByNumButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventevent){
table.getSelectionModel().clearSelection();
tableModel.doSearchByNum(numField.getText());
}
});
searchPanel.add(searchByNumButton);
searchPanel.add(newJLabel("姓名"));
nameField=newJTextField(20);
searchPanel.add(nameField);
searchByNameButton=newJButton("按姓名搜索");
searchByNameButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventevent){
table.getSelectionModel().clearSelection();
tableModel.doSearchByName(nameField.getText());
}
});
searchPanel.add(searchByNameButton);
getContentPane().add(searchPanel,BorderLayout.NORTH);
tableModel=newTestTableModel();
tableModel.addTableModelListener(newTableModelListener(){
@Override
publicvoidtableChanged(TableModelEvente){
if(tableModel.getHitRowCount()>0){
table.setRowSelectionInterval(0,tableModel.getHitRowCount()-1);
}
}
});
table=newJTable(tableModel);
JScrollPanejsp=newJScrollPane(table);
getContentPane().add(jsp,BorderLayout.CENTER);
}
publicstaticvoidmain(String[]args){
JTableTestself=newJTableTest();
self.setVisible(true);
}
}
importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.List;
importjavax.swing.table.AbstractTableModel;
{
privateList<Student>data=Arrays.asList(newStudent("001","王二",20),newStudent("002",
"王二小",19),newStudent("003","張三",20),newStudent("004","張三豐",21),newStudent("005",
"李四",21),newStudent("006","李四光",19));
privateList<Integer>searchHitRows=newArrayList<Integer>();
@Override
publicintgetRowCount(){
returndata.size();
}
@Override
publicintgetColumnCount(){
return3;
}
@Override
publicStringgetColumnName(intcolumn){
if(column==0)
return"學號";
elseif(column==1)
return"姓名";
return"年齡";
}
@Override
publicObjectgetValueAt(introwIndex,intcolumnIndex){
Studentstudent=data.get(rowIndex);
if(columnIndex==0)
returnstudent.getNum();
elseif(columnIndex==1)
returnstudent.getName();
returnstudent.getAge();
}
/**按姓名搜索*/
publicvoiddoSearchByName(Stringkey){
searchHitRows.clear();
if(key==null||"".equals(key))
return;
for(inti=0;i<data.size();i++){
StudentstudentI=data.get(i);
Stringvalue=studentI.getName();
if(value.indexOf(key)<0)
continue;
intj=0;
for(j=i-1;j>=0;j--){
StudentstudentJ=data.get(j);
StringvalueJ=studentJ.getName();
if(valueJ.indexOf(key)>=0)
break;
}
Studenttemp=data.get(j+1);
data.set(j+1,studentI);
data.set(i,temp);
searchHitRows.add(Integer.valueOf(j+1));
}
fireTableDataChanged();
}
/**按學號搜索*/
publicvoiddoSearchByNum(Stringkey){
searchHitRows.clear();
if(key==null||"".equals(key))
return;
for(inti=0;i<data.size();i++){
StudentstudentI=data.get(i);
Stringvalue=studentI.getNum();
if(value.indexOf(key)<0)
continue;
intj=0;
for(j=i-1;j>=0;j--){
StudentstudentJ=data.get(j);
StringvalueJ=studentJ.getNum();
if(valueJ.indexOf(key)>=0)
break;
}
Studenttemp=data.get(j+1);
data.set(j+1,studentI);
data.set(i,temp);
searchHitRows.add(Integer.valueOf(j+1));
}
fireTableDataChanged();
}
publicvoidsetData(List<Student>data){
if(data==null)
("參數data不能為null。");
this.data=data;
fireTableDataChanged();
}
publicintgetHitRowCount(){
returnsearchHitRows.size();
}
}
從資料庫查詢出記錄後,轉成Student對象列表調用TestTableModel的setData設置表格的數據。
❻ 有一張資料庫新聞表 有點擊量和是否置頂兩個欄位 在頁面上顯示的時候既想讓他置頂在上面,又想按照點擊量
select * from [新聞表] where [置頂]="置頂" order by [點擊量] desc
❼ sql 置頂排序
試驗了一下下面這個可以:
oracle:
select t.id,t.tname,t.tdate from teacher t left join consume c on t.id=c.tid order by c.id,tdate desc;
select t.id,t.tname,t.tdate from teacher t left join consume c on t.id=c.tid order by nvl(c.id,9999999),tdate desc;
sqlserver:
select t.id,t.tname,t.tdate from teacher t left join consume c on t.id=c.tid order by isnull(c.id,9999999),tdate desc;
*****************************************************
補充:
access:
SELECT t.id, t.tname, t.tdate
FROM teacher AS t LEFT JOIN consume AS c ON t.id=c.tid
ORDER BY iif(isnull(c.id),999999,c.id), tdate DESC;
*****************************************************
---
以上,希望對你有所幫助。
❽ 置頂時間功能,資料庫如何設計
添加一個日期欄位記錄過期時間就行了。如果還有最後回復日期,那就再加一個最後日期,排序的時候以最後回復日期排即可。
❾ asp acc資料庫我想把置頂信息和普通信息分開顯示
直接分開唄
sql="這里是置頂的"
rs.open sql,connstr,11
這里是置頂的顯示
rs.close
sql="這里是非置頂的"
rs.open sql,connstr,11
這里是非置頂的顯示
rs.close
❿ 新聞系統頂置排序資料庫設計用思想
在 後台 每個新聞列表後面 加個上移跟下移,把id帶上,點擊連接,如果是上移的話,在執行頁面,查找比他大的第一條記錄,把兩個排序值替換就可以了,下移也是一樣的