如何查詢表中,各個分類的前面2條資料,用一條sql語句

2021-10-05 03:09:42 字數 4281 閱讀 8832

1樓:執念如此

select * from 表名 where 分類名 = '' or 分類名 = '' order by 排序欄位 asc limit 條數總和(貌似只能用來查不同分類的相同條數,比如都是兩條都是三條)

2樓:匿名使用者

select top2 * from 表名 where 條件1union select top2 * from 表名 where 條件2

union select top2 * from 表名 where 條件3

分類比較多的話考慮用儲存過程(遊標)

3樓:匿名使用者

如你所願,一條語句完成

select [name],[fl],[id] from t2 where [id] in ((select min([id])[id] from t2 group by [fl])union(select min([id])[id] from t2 where [id] not in (select min([id]) from t2 group by [fl]) group by [fl]))order by [fl],[id]

4樓:幫助

select top 2 * from 表名 where f1=1;//這求出fl=1的前兩條

select top 2 * from 表名 where f1=2//這求出fl=2的前兩條

select top 2 * from 表名 where f1=1 union select top 2 * from 表名 where f1=2//求出fl=1的前兩條並上fl=2的前兩條

//不知道我明不明白你說的意思,我感覺我理解可能有誤

5樓:匿名使用者

select top2 * from 表名 where 條件1 and 條件2

6樓:良是良子的良

dsadsadada

mysql:只用一條sql語句,如何查出一個表裡,不同條件對應的資料條數

7樓:匿名使用者

看一下這個sql

select

sum(

if((*** = 1 and age = 2),1,0)),sum(

if((*** = 1 and age = 5),1,0)),sum(

if((*** = 1 and age = 10),1,0))from a_test

這個sql現在就是得出的這個結果

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

8樓:

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

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

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

9樓:匿名使用者

查詢 表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

希望有所幫助

10樓:匿名使用者

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

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

得到的結果類似:

總數 | 姓名

20 | 張三

15 | 李四

2 | 王五

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

11樓:匿名使用者

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

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

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

12樓:極速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

13樓:匿名使用者

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

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

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

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

14樓:匿名使用者

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

group by a.id

order by count(b.id) desc

15樓:匿名使用者

select *,

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

from 表a

order by 行數 desc

16樓:囂十一狼

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

sql 查詢前10條記錄中的某些表項,怎樣用一條sql語句描述

17樓:

select top 10 項1,項2,項3,項4 from 表 order by *** desc

18樓:匿名使用者

select 項名 from (select top 10 * from 表名 order by *** desc)

19樓:傳奇勇者

select * from 表名 where 項名 in (select top 20* from 表名 order by *** desc)

怎樣用一條sql語句從一個表中提取出不同型別的記錄,必須包含每種型別的資料

20樓:匿名使用者

如果只要

bai其中的

dua和b中的隨zhi

便兩條dao的話可以

回這樣答子寫

select * from

(select top 2 * from test where t_type='a'

order by id

) aunion all

select * from

(select top 2 * from test where t_type='b'

order by id)

sql語句如何查詢一個表中某一列的相同資料?

21樓:

寫個函式或儲存過程,使用遊標變數,根據條件,把滿足條件的記錄儲存到另張表裡面

22樓:匿名使用者

select * from 表名 where count(列名) >1 order by 列名

23樓:匿名使用者

select * from 表名 tb where (select count(1) from # where id=tb.id)>=2

資料庫中如何查詢表的最後一條記錄

1 首先,建立乙個測試,如下圖所示,然後進入下一步。2 其次,完成上述步驟後,插入測試資料,如下圖所示,然後進入下一步。3 接著,完成上述步驟後,查詢表中的資料,如下圖所示,然後進入下一步。4 最後,完成上述步驟後,重新排序,獲取最後一條記錄並轉到bbb欄位的長度,如下圖所示。這樣,問題就解決了。方...

mysql中如何查詢表的第一條和最後一條記錄

select top 1 from book 不對,因為baimysql裡沒有top這種 du寫法,zhi 它用limit 查第dao 一條 select from book limit 1 select from book limit 0,30 後面的內limit 0,30 是查詢前容30條記錄 ...

在excle表中如何查詢資料,想將表中的正數及負數分類放在另一表中

自動篩選 1。選擇資料 篩選 自動篩選 下面的例子和 數值 7 8 4 5 1日 9 2 選擇 可以選擇在選擇的價值選擇,包括自定義項的後面 減號 出現陽性出來,將是乙個負面的資料,輸入 加號 我們的第乙個專案 符號,遵守這些資料複製到所需?要的 然後將其刪除,留下的正面資料。用自動篩選就可以了 1...