2012-02-17 51 views
1

我是SQL新手,我正在使用SQLite爲零售商店鏈運行銷售分析。如何計算在同一列中滿足多個條件的'where'條件的項目

我目前正在嘗試計算包含不同類別項目的交易數量。我的數據中的相關列是uniqID(它提供了一個事務ID)和類別。每個uniqID對於該交易中的每個物品都有一行,即三個物品的交易將具有三行。每個這些行會有它自己的類別,即:

uniqID類別 103褲子 103裙子 103裙子 104跳線 104裙子

是否有可能做這計數數的計數功能包含兩個不同類別的獨特交易?例如,有多少交易包含褲子和裙子? (在上面的例子中,答案是1!)

我曾嘗試以下:

SELECT COUNT(DISTINCT uniqID)其中類別=褲子和類別=裙;

但是,它一直將答案作爲0返回,我知道這是不正確的。任何人都可以提出重新說明查詢的方式嗎?

非常感謝您的幫助!

+0

嗯我的數據的例子並沒有真正的工作 - 我試圖創建一個ID在左列和右列的類別的表... – EAndrews 2012-02-17 11:03:40

+0

是的,這當然是可能的,但你怎麼知道這不是真的?嘗試了'select * from yourtable where category = trousers and category = skirts;'? (順便說一句,你錯過了你的SQL查詢中的'FROM'關鍵字) – m0skit0 2012-02-17 11:05:19

回答

0

類別不能同時有兩個不同的值,請使用'或'而不是'和'。

select count (distinct uniqID) where category = trousers or category = skirts; 
0

如果有的話,它應該是

select count (distinct uniqID) where category = 'trousers' OR category = 'skirts'; 

由於一行類不能有值「褲子」和「裙子」在同一時間。