1樓:拯救夢想
查詢條件 classid in(1,2,3,4) 中的 (1,2,3,4)只是提問者舉的乙個例子,這個值有可能是 (1,2,3,4,5,6),也有可能是其它。所以,不能在 SQL 裡面直接寫死這些值。
那麼,classid 是怎麼來的,總有一張表儲存了最全的 classid 吧,假設這張表就叫作 class 吧,SQL 就可以這麼寫:
SELECTa.
classid
,IFNULL(b
.cnt,0
)AScntFROM
(SELECT
DISTINCT
classid
FROM
class
WHERE
classidIN(
1,2,
3,4))
aLEFT
JOIN
(SELECT
classid
,COUNT
(classid)AS
cntFROM
member
WHERE
classidIN(
1,2,
3,4)
GROUP
BYclassid)b
ONb.classid=a
.classid
假如提問人的人就是想把傳入的數值作為結果全部展示,比如傳入完全不存在的 classid = 666,那上面的 SQL 就不適用了。
2樓:
selectT.
classId,(
select
count(*
)from
member
mwherem.
classId=T
.classId
)from
(values(1
),(2),
(3),(
4))asT
(classId
)SqlServer2008及以上版本支援。
3樓:
SELECTb.
id,COUNT(a
.classId
)FROM
dbo.
member
aRIGHT
JOIN
(SELECT
'1'AS
idUNION
SELECT
'2'AS
idUNION
SELECT
'3'AS
idUNION
SELECT
'4'ASid)
bONa.
classId=b
.idGROUPBYb
.id上班時間翻知乎放鬆放鬆結果怎麼還是搞這些東西,嗚嗚
redis查詢資料 比如通過一所學校查詢到學校的所有人的資訊,當然資料是很多的,要怎麼實現呢?
zhanjia REDIS CURSOR或者PIPELINE,看官網文件,很全,可以用HASH結構查出所有的目的是啥?展示?不需要分頁麼?百萬級的話MYSQL效能也不會特別糟糕 江花勝火 瀉藥。百萬級的資料不能算多吧,要把資料量化為GB,當然每個人再跟乙份5MB的簡歷,那我就不說話了。redis是用...
vba 如何進行查詢單元格指定字串查詢到了剪下 貼上到 右移 兩格?
曾燦公升 寫了2個,第乙個寫時候看見關鍵字了,就這樣寫了 第二個是看見你說字眼,才想起來可能有其他內容,加了個模糊匹配,你試試吧,我測試過沒問題 Option Explicit Sub cc Dim arr,i As Long,j As Long,y As Long y 0 arr Range a1...
工作多年,碰見特別喜歡問排序查詢演算法,資料結構實現的面試官是什麼感受
這是很正常的,基本資料結構和演算法的實現雖然已經整合到STL中作為C 的一部分,但我依然認為很有必要了解他們內部的實現,這是對資料結構最基本的理解,也會對記憶體的分配,優化,演算法的時間和空間複雜度更深入的理解。 王東嶽 既然你說到了map實現,我就隨便說說這玩意有啥用 我至少看過好幾個踩map這個...