SQL語句,按資料多少排序,sql 按欄位指定值排序

時間 2022-06-14 13:15:03

1樓:資料科學家

select a.*

from tablea a ,

(select tableaid, count(1) nb from tableb b group by tableaid

) bb

where a.id=bb.tableaidorder by bb.nb

首先需要把b表的兒子輩出現次數統計出來,並按照最大出現次數排序。order by nb

然後和a表關聯,輸出所需要的排序。

c表的話就是多加一次迴圈巢狀。 加油 相信你自己能寫出來。

2樓:寒到要死

select * from tablea aleft join

(select tableaid,count(*) as numfrom tableb group by tableaid ) b

on a.id=b.tableaid

order by b.num desc

試試啦,應該是這個意思。。。。。

sql 按欄位指定值排序

3樓:匿名使用者

這個需要在排序語句中使用條件判斷

例如:表【table_temp】中列【col1】為字元,屬性為varchar(10),排序時需要按照b、a、c的順序顯示,則可按照以下sql語句:

select

*from

table_temp

order by

case

when col1='b' then 1

when col1='a' then 2

when col1='c' then 3end

4樓:匿名使用者

在mssql支援case,使用以下語句實現select 表1.id, 表1.n

from 表1

order by case n when 'a2' then 1 when 'a1' then 2 when 'a3' then 3 end;

在access中使用iif來實現,如下:

select 表1.id, 表1.n

from 表1

order by iif(n='a2',1,iif(n='a3',2,3));

可參考access幫助檔案中的

access > 篩選和排序 > 按自定義次序對記錄排序

5樓:沉默使用者

order by 字句中使用case

select *

from table1

order by case a1 when 'a2' then 1 when 'a3' then 2 when 'a1' then 3 end

6樓:匿名使用者

你可以加上一個計算列,將它轉換成可排序的,比如在oracle中可依這樣

select table1.*,decode(table1.a1,'a2' ,1,'a3',2,'a1',3,0)xx from table1 order by xx

7樓:匿名使用者

select * from dbo.table1where a1= 'a1'

union

select * from dbo.table1where a1<> 'a1'

order by a1 desc試一下

8樓:匿名使用者

在select語句後面加上 order by a1 desc是降序

order by a1 asc是升序;

sql按欄位相同的數量排序

9樓:匿名使用者

select uuid,count(uuid) from table group by uuid;

這個句子顯示不了id

如果要顯示id可以

select a.id,a.uuid,b.

total from table a left join (select uuid,count(uuid) as total from table group by uuid)b on a.uuid=b.uuid;

10樓:愛day可愛的

select row_number() over(order by age) order, age, count(*) num

from tb

group by age

sql語句怎麼查詢表中的第幾行的資料,比如第5行,按主鍵id排序。

11樓:匿名使用者

1、需要用到row_number()

2,select id,row_no

from

(select id, row_number() over( partition by 如果有需要分組的**上,order by id ) as row_no

from table

) xx

where xx.row_no = 5

需要什麼填寫什麼數字就好了。

12樓:匿名使用者

select id

from

(select id

from tablea

order by id

) tab

where rownum=5

13樓:厙曼冬

select top 1 * from

(select top 5 * from table order by id) order by id desc

14樓:

select top 5 * from tb where id not in (select top 4 id from tb order by id)

order by id

sql語句,按記錄重複的數量排序降序

15樓:

select * from(

select count(*) cnt,[ctfld] from [shifenzheng].[dbo].[cdsgus] group by [ctfld]) a order by cnt desc

16樓:匿名使用者

select t.[name]

,t.[cardno]

,t.[descriot]

,t.[ctftp]

,t.[ctfid]

,t.[gender]

,t.[birthday]

,t.[address]

,t.[zip]

,t.[dirty]

,t.[district1]

,t.[district2]

,t.[district3]

,t.[district4]

,t.[district5]

,t.[district6]

,t.[firstnm]

,t.[lastnm]

,t.[duty]

,t.[mobile]

,t.[tel]

,t.[fax]

,t.[email]

,t.[nation]

,t.[taste]

,t.[education]

,t.[company]

,t.[ctel]

,t.[caddress]

,t.[czip]

,t.[family]

,t.[version]

,t.[id]

from (

select

row_number() over(partition by [ctfid] order by [cardno] )as n,

count([cardno]) over(partition by [ctfid])as c,

[name]

,[cardno]

,[descriot]

,[ctftp]

,[ctfid]

,[gender]

,[birthday]

,[address]

,[zip]

,[dirty]

,[district1]

,[district2]

,[district3]

,[district4]

,[district5]

,[district6]

,[firstnm]

,[lastnm]

,[duty]

,[mobile]

,[tel]

,[fax]

,[email]

,[nation]

,[taste]

,[education]

,[company]

,[ctel]

,[caddress]

,[czip]

,[family]

,[version]

,[id]

from [shifenzheng].[dbo].[cdsgus]where ctfid like '%3101%' and gender like 'f'

) t order by t.c desc,t.n asc

17樓:西湖美景勝天堂

做統計呀,巢狀寫個統計程式,按照你需要的列統計重複多的排上面

sql 字串按大小排序

18樓:屬於我的帆帆

我的資料庫和myeclipse剛剛解除安裝了,所以沒法幫你寫!!!你自己想想吧,在資料庫中直接排序成這樣我還沒有想到!這是將這個資料讀出來在排序的方法。

這個需要先將a欄位的字元拆分出來,可以按照「/」拆分,貌似可以直接用split("/')直接拆分,然後需要型別轉換下,轉成int型別,或者直接用int 來接收,既然已經拆分到陣列裡了,那麼就可以用氣泡排序或者其他排序,從小到大排序了,排序之後需要在合併到一起!!!這只是一個思路或許還有其他方法。我說的可能有錯誤,希望見諒。

19樓:幾個木頭

--將a列按'/'拆分並轉換為int排序

select t1.id,cast(t2.a as int) ainto #temp

from

(select id,a=convert(xml,' '+replace(a,'/','

')+'

20樓:劉夏兒

先轉化成int再asc排序

sql group 後按分組數量的多少排序怎麼寫

21樓:匿名使用者

資料表內有一個種類欄位,把商品分成了n種,我想使用sql語句列出有多少種類,也就是group by 種類 ,但是我想輸出時是按種類的多少進行排序,也就是歷史類有100個產品 自然類有200個產品 法律類有300個產品

那麼就輸出

法律 300

自然 200

歷史 100

select 種類,sum(數量) from 表名 group by 種類 order by sum(數量) desc

試試:<?php

$sql="select products_id,count(products_id) from orders_products group by products_id order by count(products_id) desc";

?>

sql查詢語句如何按指定欄位順序排序

22樓:匿名使用者

"order by case when 的意思是說來,按case when 做條件排序,你源這個不是排序的問bai題吧,是搜尋結du果的欄位顯示zhi問題吧,只dao有你說的寫法的,就是select b,d,f,e,a,c,g,h,i,j,k……,z from student

或者你要改表欄位的位置咯"

23樓:匿名使用者

手工排吧 select b,d,f,e,a,c,g,h,i,j,k..............,z from student,表裡面欄位很多,但實際用到的欄位不會太多的,不用的就別查出來吧

sql查詢排序後前20條語句,SQL查詢排序後前20條語句

大野瘦子 select c.d from select c,d,rownum rn from select t.from table1 order by b desc 降序 t1 where rn 20 注 用rownum的話,你要先排好序,然後再用rownum生成偽列,再限制行數。關於sql語句查...

資料庫SQL語句

create function dbo isin string1 varchar 100 string2 varchar 4000 returns bitas begin if charindex string1 string2 0 begin return 1 endreturn 0 end呼叫 ...

SQL按時間排序,SQL按時間排序

洛初翠縱華 select month makedate mm,sum case when y 1then 1else 0end sum case when y 2then 1else 0end asab from xwhere ybetween 1and 2group bymonth makedat...