求一條sql語句,查詢表,根據其中表的資料行數進行排序的問題

2021-03-29 00:25:00 字數 3240 閱讀 6018

1樓:

那就改一下關聯欄位就行了

select * from 表a order by (select count(1) from 表b where 使用者表id=表a.id)

另外,您還可以把行數在查詢中顯示出來,並按照行數從多到少的順序排列:

select *,

(select count(1) from 表b where 使用者表id=表a.id) as 行數

from 表a

order by (select count(1) from 表b where 使用者表id=表a.id) desc

就是說:你要是懂得了表示式和子查詢同樣可以作為排序使用,以後許多問題你就會迎刃而解了

2樓:匿名使用者

查詢 表a.id 按照 表b裡面的改使用者購買的產品的資料行數 進行排序

按照你的說法,就是想得到 購買產品的 a.id 的排序.

表b -------------------欄位 id 購買產品名稱 使用者表id(儲存的是a表.id) 很顯然 購物清單表裡有a.id

select b.使用者表id

from (

select 使用者表id, cout(購買產品名稱) as idfrom b

group by 使用者表id ) as border by b.id

希望有所幫助

3樓:匿名使用者

你都沒說是什麼資料庫系統……假設是mysql好了……select count(b.*) as 該使用者總購買數, a.姓名 from 表b b left join 表a a on (a.

id = b.使用者表id) order by 該使用者總購買數 desc

得到的結果類似:

總數 | 姓名

20 | 張三

15 | 李四

2 | 王五

不知道是不是你要的結果?

4樓:匿名使用者

select * from 表a order by (select count(1) from 表b where 表b.id=表a.id)

這個在sqlserver 2000中對的,這就是相關子查詢的用法。

不知道提問者用的是什麼資料庫

5樓:極速love鋒狂

先根據id查詢購買的產品數即行數(hangshu)select id,count(*) as hangshu into #1 from 表b group by id desc

在根據行數排序查詢對應的id購買的商品記錄select 表a.id,表b.購買產品名稱 from #1,表b where #1.

id = 表b.id order by hangshu desc

6樓:匿名使用者

這個問題不難,需要利用到對查詢的結果欄位使用別名,具體的sql語句如下:

select 表a.id,表a.姓名,(select count(1) from 表b where 表b.

使用者表id=表a.id) as 購買數量 from 表a order by 購買數量

呵呵,希望解決了問題,^_^

7樓:匿名使用者

select a.id from a, bwhere a.id = b.id

group by a.id

order by count(b.id) desc

8樓:匿名使用者

select *,

(select count(1) from 表b where 使用者表id=表a.id) as 行數

from 表a

order by 行數 desc

9樓:囂十一狼

樓主是不是說一下最後查詢想顯示的欄位列表啊

在sql語句中,如何把兩張表的資料按時間排序查詢?

10樓:匿名使用者

表baia為入庫表

表b為出庫表du

它們都有一個zhi日期欄位 mkrdat,貨dao號為 goodsid,數量欄位為qty

那麼兩回張表的組合方式可答以這樣

select goodsid,qty ,mkrdat from(select goodsid,qty ,mkrdat from a where goodsid ='查詢貨號' union all

select goodsid,qty ,mkrdat from b where goodsid ='查詢貨號'

)aa order by goodsid,mkrdat

把兩張表的資料按時間排序查詢的sql語句

11樓:匿名使用者

表a為入庫表

表b為出庫表

它們都有一個日期欄位 mkrdat,貨號為 goodsid,數量欄位為qty

那麼兩張表的組合方式可以這樣

select goodsid,qty ,mkrdat from(select goodsid,qty ,mkrdat from a where goodsid ='查詢貨號' union all

select goodsid,qty ,mkrdat from b where goodsid ='查詢貨號'

)aa order by goodsid,mkrdat

sql排序方式要根據另一個表的某個欄位排序怎麼實現?

12樓:匿名使用者

可以通過兩個表的關係,然後通過欄位關聯的形式排序。

sql:select t1.* from tablename1 t1, tablename2 t2 wehere t1.

id=t2.id order by t2.name;

解釋:實際上上面語句會通過 tablename2表的name欄位先排序表tablename2資料,之後會通過id欄位關聯後,讀取出id存在於tablename2表中存在的tablename1表的資料。

備註:上面表中的id欄位的值肯定有相同的,如tablename1和 tablename2 表中id欄位都存在值「1」,才可以有結果輸出。如果兩個表都沒關聯的話,無法實現。

13樓:匿名使用者

加個標記,等著看結果...

14樓:匿名使用者

select a.* from a left join b on a.size=b.size order by b.size

求一條sql多條件查詢語句

假設子女孩次為1或2的話 select 姓名,max case 子女孩次 when 1 then 子女姓名 else null end 一孩姓名,max case 子女孩次 when 1 then 子女性別 else null end 一孩性別,max case 子女孩次 when 2 then 子...

求SQL聯表查詢語句,求SQL聯表查詢語句

首先你要了解一下資料的傳輸 1 你不用擔心,20多萬資料很少的。我見過最高的單個表有近2億行資料。2 資料庫以sqlserver為例,它會把自己要用的資料快取到記憶體裡,然後再更新到硬碟,也就是說,你增刪改查的時候,實際上會先寫入到記憶體。所以sqlserver執行久了,你會發現工作管理員的記憶體佔...

一條sql語句

select 月,商品,sum 數量 as 銷量,sum 數量 as 銷售額into temp from 銷售表 group by 月,商品 select a.from temp a,select 月,max 銷量 as 最大銷量from temp group by 月 bwhere a.月 b.月...