mysql怎樣對臨時欄位高效排序(30萬條資料)

2021-10-05 03:07:35 字數 4206 閱讀 7738

1樓:匿名使用者

$sql = "select t.*, f.name from threads t, forums f where f.

fid=t.fid order by id=10000 desc , t.dateline desc limit 0, 10";

但效率比較差。

下面這個效率上會好一些

sql code?

select * from (

(select t.*, f.name from threads t, forums f where f.fid=t.fid id=10000)

union all

(select t.*, f.name from threads t, forums f order by t.dateline desc limit 0, 10)

) torder by id=10000 desc,datelinedesc limit 0, 10

2樓:魔獸

這個我也不知道,先mark下,等有人回答我也看看答案

如何對mysql資料庫中某些特定欄位進行排序?

3樓:匿名使用者

select * from 表名 order by 日期 desc; 按照日期降序排列。

如何根據mysql資料庫中的某一個欄位進行排序呢??

4樓:汪雄輝拉

例如你表名 為test,sql 如下:

select * from test order by `order` desc-----------------根據order降序排列,去掉末尾的desc就是升

序注:order為關鍵字,所以欄位order需要用反引號括起來,不然報錯

5樓:time嵐憶

先把分類全取出來,並隨機排序,取排在第一個分類。

例如:西裝

然後查詢的時候 order by (category='西裝') desc,category 即可實現要求。

mysql是一種開放源**的關係型資料庫管理系統(rdbms),mysql資料庫系統使用最常用的資料庫管理語言--結構化查詢語言(sql)進行資料庫管理。

mysql這個名字,起源不是很明確。一個比較有影響的說法是,基本指南和大量的庫和工具帶有字首“my”已經有10年以上,而且不管怎樣,mysql ab創始人之一的monty widenius的女兒也叫my。這兩個到底是哪一個給出了mysql這個名字至今依然是個迷,包括開發者在內也不知道。

mysql的海豚標誌的名字叫“sakila”,它是由mysql ab的創始人從使用者在“海豚命名”的競賽中建議的大量的名字表中選出的。獲勝的名字是由來自非洲史瓦濟蘭的開源軟體開發者ambrose twebaze提供。根據ambrose所說,sakila來自一種叫siswati的史瓦濟蘭方言,也是在ambrose的家鄉烏干達附近的坦尚尼亞的arusha的一個小鎮的名字。

mysql,雖然功能未必很強大,但因為它的開源、廣泛傳播,導致很多人都瞭解到這個資料庫。它的歷史也富有傳奇性。

6樓:追尋著

select * from test order by `order` desc

mysql資料庫怎麼可以兩個條件排序?

7樓:匿名使用者

可以的,order by多個欄位規則是這樣的,用逗號分隔每一個欄位,如果欄位不指明排序方式,預設是增序。排序的方法是先按第一個欄位排序,如果有相同的再按後續的欄位依次排序。

舉個例子

按照c1排序的結果如上圖,然後我們按照c1增序,c2降序排列,結果如下:

8樓:du瓶邪

在資料庫查詢時,常常需要排序,而有時排序條件可能有多個。

如資料庫:

a b

1 103

1 101

2 201

2 203

1 102

2 202

排序後: a b

1 103

1 102

1 101

2 203

2 202

2 201

語句:select a.a , a.b from table a order by a.a asc , a.b desc

其中asc連線多條排序,且與後一條查詢之間有逗號隔開!

9樓:匿名使用者

今天又測試了一下,使用utf8字符集建立的表或者欄位使用的是utf8字符集,中文的排序是不正確的,如果表和欄位是gbk字符集,則可以正確的排序。

mysql> create table tt_character (name varchar(20)) default charset gbk;

query ok, 0 rows affected (0.03 sec)

mysql> create table tt_character1 (name varchar(20)) default charset utf8;

query ok, 0 rows affected (0.04 sec)

mysql> insert into tt_character values('蘭州'),('安徽'),('江西');

query ok, 3 rows affected (0.00 sec)

records: 3 duplicates: 0 warnings: 0

mysql> insert into tt_character1 values('蘭州'),('安徽'),('江西');

query ok, 3 rows affected (0.00 sec)

records: 3 duplicates: 0 warnings: 0

mysql> select * from tt_character1 order by name;

+------+

| name |

+------+

| 蘭州 |

| 安徽 |

| 江西 |

+------+

3 rows in set (0.00 sec)

mysql> select * from tt_character order by name;

+------+

| name |

+------+

| 安徽 |

| 江西 |

| 蘭州 |

+------+

3 rows in set (0.00 sec)

10樓:j**aman歪歪

沒問題啊

這個都寫出來直接執行下就可以了啊

11樓:匿名使用者

select * from mysql order by time desc,id desc

12樓:【血衣亭

select * from mysql order by 欄位一 asc ,欄位二 asc,欄位三 desc;

mysql根據某個欄位內容排序

13樓:匿名使用者

select * from (select * from tablename where a='01' order by b asc) a

union all

select * from (select * from tablename where a='02' order by b desc) a

14樓:匿名使用者

select * from yourtable order by  a asc ,  b desc

這個就是你想要的

yourtable你的表名

a,b為你的欄位名

15樓:匿名使用者

使用兩個排序就行了

select * from tablename order by a asc,b desc

16樓:匿名使用者

直接使用sql語句是很難的了,需要通過php來,先把a列分組出來,然後,可以根據迴圈來逐一查詢出來a組裡面的每個組的資料,然後去查該表,按照b的升或者降序排列即可達到要求。

辦理臨時身份證我在異地,怎樣在異地辦理臨時身份證

不可以。目前居民身份證異地受理的範圍僅限居民身份證有效期滿換領 損壞換領和丟失補領,申領臨時身份證的,仍需到戶籍地公安機關辦理。我在外地,身份證丟了,臨時身份證怎麼辦?身份證丟了可以在異地補辦,辦理流程如下 1 申領人本人到派出所拍攝居民身份證數碼 並現場採集指紋資訊。2 填寫 居民身份證異地受理登...

公司臨時解僱我,對我說是工作原因,對別人說是我個人作風問題,我該如何維權

損害你名譽的問題先放放,先來說說你們的合同問題。新的勞動法規定,如果是公司的原因不和你籤合同,每月是要付給你雙倍的工資,也就是說你從05年開始,一直到現在,都有權像你單位索要雙倍的工資。再來說你名譽的問題,我覺得這個站不住腳啊,你很難用這個作為理由像你單位索要賠償,因為人家可以不承認這種說法,然後換...

重慶市臨時身份證在外地讀書怎樣辦理

民生為本 重慶與四川是一對一互辦身份證的省市,如果你在四川可以到居住地申請辦理身份證,同時辦理臨時身份證。公安部在天津與河南 江蘇與安徽 浙江與江西 重慶與四川 湖北與湖南等10省市開展居民身份證異地受理一對一試點。居民身份證丟失或有效期滿,需要在異地補領 換領的,可憑本人有效證件或單位合法證明,向...