我需要在這個查詢中得到一個結果。如何對mysql中的數據進行數次計數?
Select count(*) from users where cardnumber IN (1,2,3,1,2);
在表用戶中;
Username cardnumber
A 1
B 2
C 3
我需要得到結果爲「5」,因爲我想查詢計數2次「1」。原因; IN內有雙「1」...但是我得到的結果只是「3」,因爲在「1,2,3」之後它不再計數「1,2」。我希望我能解釋。我怎樣才能做到這一點?謝謝
這看起來像試圖以某種錯誤的方式做事。如果你能告訴我們你實際上正在努力實現的目標,這將會很有幫助。 –
我的同事問我這個查詢。我知道這很複雜。她希望這個查詢在條件(在cardnumber IN(1,1))的情況下計數雙倍時間。通常,它不計入IN子句中的第二個「1」。 –
真的不清楚你在問什麼。如果有三條記錄與您的WHERE條款匹配,那麼這些記錄的計數將會是3.您認爲它應該是5的什麼? – David