表达式中的表达式 SQL
Expressions with in Expressions SQL
首先我要为我的屠杀道歉 SQL。这里是新手。
这是我的问题。
SELECT Day,
COUNT(CASE WHEN
Shopping.Fruits Like '%1%'
THEN
'DewBerry'
WHEN
Shopping.Fruits Like '%2%'
THEN
'Kiwi'
WHEN
Shopping.Fruits Like '%3%'
THEN
'Tangerine'
ELSE
'Inactive'
END) AS Total, ***Total As FruitType***
FROM Shopping
GROUP BY Day
ORDER BY Day desc
除了我用“***”包围的部分外,一切正常,我正在尝试显示 FruitType 字段。我的尝试没有奏效。我觉得它是我忽略的小东西,但我似乎无法理解它。
这是我得到的 Total As FruitType
Day Total
9/11/2018 0:00 24
9/10/2018 0:00 113
9/9/2018 0:00 17
9/7/2018 0:00 62
9/6/2018 0:00 94
9/5/2018 0:00 15
任何帮助,
谢谢....
这看起来像
SELECT
Day,
SUM(CASE WHEN Shopping.Fruits Like '%1%' THEN 1
ELSE 0
END
) AS DewBerry_Count,
SUM(CASE WHEN Shopping.Fruits Like '%2%' THEN 1
ELSE 0
END
) AS Kiwi_Count,
SUM(CASE WHEN Shopping.Fruits Like '%3%' THEN 1
ELSE 0
END
) AS Tangerine_Count,
SUM(CASE WHEN Shopping.Fruits NOT LIKE '%1%'
AND Shopping.Fruits NOT LIKE '%2%'
AND Shopping.Fruits NOT LIKE '%3%' THEN 1
ELSE 0
END
) AS Inactive_Count
FROM ScreeningManu
GROUP BY Day
ORDER BY Day desc
这是你想要做的吗?
SELECT s.Day,
(CASE WHEN s.Fruits Like '%1%' THEN 'DewBerry'
WHEN s.Fruits Like '%2%' THEN 'Kiwi'
WHEN s.Fruits Like '%3%' THEN 'Tangerine'
ELSE 'Inactive'
END) as FruitType,
COUNT(*) AS Total
FROM ScreeningManu s
GROUP BY s.Day,
(CASE WHEN s.Fruits Like '%1%' THEN 'DewBerry'
WHEN s.Fruits Like '%2%' THEN 'Kiwi'
WHEN s.Fruits Like '%3%' THEN 'Tangerine'
ELSE 'Inactive'
END)
ORDER BY s.Day DESC;
首先我要为我的屠杀道歉 SQL。这里是新手。
这是我的问题。
SELECT Day,
COUNT(CASE WHEN
Shopping.Fruits Like '%1%'
THEN
'DewBerry'
WHEN
Shopping.Fruits Like '%2%'
THEN
'Kiwi'
WHEN
Shopping.Fruits Like '%3%'
THEN
'Tangerine'
ELSE
'Inactive'
END) AS Total, ***Total As FruitType***
FROM Shopping
GROUP BY Day
ORDER BY Day desc
除了我用“***”包围的部分外,一切正常,我正在尝试显示 FruitType 字段。我的尝试没有奏效。我觉得它是我忽略的小东西,但我似乎无法理解它。
这是我得到的 Total As FruitType
Day Total
9/11/2018 0:00 24
9/10/2018 0:00 113
9/9/2018 0:00 17
9/7/2018 0:00 62
9/6/2018 0:00 94
9/5/2018 0:00 15
任何帮助,
谢谢....
这看起来像
SELECT
Day,
SUM(CASE WHEN Shopping.Fruits Like '%1%' THEN 1
ELSE 0
END
) AS DewBerry_Count,
SUM(CASE WHEN Shopping.Fruits Like '%2%' THEN 1
ELSE 0
END
) AS Kiwi_Count,
SUM(CASE WHEN Shopping.Fruits Like '%3%' THEN 1
ELSE 0
END
) AS Tangerine_Count,
SUM(CASE WHEN Shopping.Fruits NOT LIKE '%1%'
AND Shopping.Fruits NOT LIKE '%2%'
AND Shopping.Fruits NOT LIKE '%3%' THEN 1
ELSE 0
END
) AS Inactive_Count
FROM ScreeningManu
GROUP BY Day
ORDER BY Day desc
这是你想要做的吗?
SELECT s.Day,
(CASE WHEN s.Fruits Like '%1%' THEN 'DewBerry'
WHEN s.Fruits Like '%2%' THEN 'Kiwi'
WHEN s.Fruits Like '%3%' THEN 'Tangerine'
ELSE 'Inactive'
END) as FruitType,
COUNT(*) AS Total
FROM ScreeningManu s
GROUP BY s.Day,
(CASE WHEN s.Fruits Like '%1%' THEN 'DewBerry'
WHEN s.Fruits Like '%2%' THEN 'Kiwi'
WHEN s.Fruits Like '%3%' THEN 'Tangerine'
ELSE 'Inactive'
END)
ORDER BY s.Day DESC;