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