先把分類全取出來,並隨機排序,取排在第一個分類。
例如:西裝
然後查詢的時候 order by (category='西裝') desc,category 即可實現要求。
② 關於mysql資料庫排序的問題
那要看你的表是怎麼構建的
一般這匯總情況我認為
你的id應該是自增的吧
如果是自增
那麼
插入一個數據的話
就是id等於4的那個行
切
你的
desc欄位應該就是
用來
排序用的吧
那麼
在前台
你可以
做一個input框(每行後邊都有個input框)
目的就是為了
排序你的數據
在這種情況下
就不需要改動什麼欄位了吧
唯一需要改動的欄位內容
就是
更新
desc的欄位就可以了吧
打個比方
原來是這樣的
id
name
desc
1
a
0
2
c
3(改動)
3
b
2(改動)
4
d
1(追加在a後)
修改後
按
name
a
b
c
d
這么排列
id
name
desc
1
a
0
3
b
1
2
c
2
4
d
3
這是在前台顯示的內容
在資料庫里
你可以看到實際上
改變的
只有
desc
後邊的
0
1
2
3
這幾個
而資料庫的表中
實際數據的位置是不會發生變化
其實你不用擔心什麼數據量過多的問題
且
在插入新的數據的時候
就讓他的desc值默認是最大的
也就是最後一位顯示
③ mysql資料庫怎麼可以兩個條件排序
可以的,order by多個欄位規則是這樣的,用逗號分隔每一個欄位,如果欄位不指明排序方式,默認是增序。排序的方法是先按第一個欄位排序,如果有相同的再按後續的欄位依次排序。
舉個例子
④ 如何對mySQL資料庫中某些特定欄位進行排序
1、以日期進行排序
select
Rownum
"ID"
,
日期
,
金額,
商品
From
(select
日期,金額,商品
from
表
order
by
日期)
2、在排序後要求資料庫中內容發生變化,如果不是考試的話是沒人故意這么玩的。
任何對於數據的ID欄位進行手工變動都是愚蠢而白痴的行為。
讓然如果是老師故意考你們的話,可以用下面這個簡單方法。
①建立臨時表,使id欄位為自增欄位
create
table
tableName
(
id
INT(20)
not
null
AUTO_INCREMENT,
--自增屬性
日期
char(20)
not
null,
金額
char(5)
not
null,
商品
char(2)
not
null
);
②將排好的數據插入新建的臨時表
Insert
into
tableName(日期,金額,商品)
select
日期,金額,商品
from
原始表
order
by
日期
③將原表改成其他名,並將第二步建的中間表改名為原表名
alter
table
表1
rename
to
表2
我手頭沒有mysql只能按印象寫出代碼,你拿去試一下吧。
我印象中mysql對pl的支持不好,所以只給出了用sql語句的方案,你參考下吧。