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...