我在查询形成中遇到问题,需要您的输入。情景如下:查询形成中的问题
我有三种颜色的蓝色,黄色和红色的T恤衫。每个学生只能绑定一件颜色的T恤。你能帮我找出班级中每种颜色的T恤数量吗(2/3/4)是指班级2/3/4。
在DB我们studentId,阶级和stShirtColor(B/Y/R)
在此先感谢
我在查询形成中遇到问题,需要您的输入。情景如下:查询形成中的问题
我有三种颜色的蓝色,黄色和红色的T恤衫。每个学生只能绑定一件颜色的T恤。你能帮我找出班级中每种颜色的T恤数量吗(2/3/4)是指班级2/3/4。
在DB我们studentId,阶级和stShirtColor(B/Y/R)
在此先感谢
你可以通过下面的查询打印T恤,其计的颜色为每个类,
SELECT class, stShirtColor, count(*) as NUMBER_OF_TSHIRST FROM YOUR_TABLE WHERE class IN (2,3,4) group by class, stShirtColor;
分组依据将组织您的数据基于类。使用GROUP BY时,您可以使用大多数aggregate functions。
这可以在MySQL中运行,但不能在ms sql server或oracle中运行。同样,它应该是'class by class,stShirtColor',因为OP要'每班颜色的T恤数量(2/3/4)' – 2014-11-21 07:24:36
除了MySQL之外,每个DBMS都会拒绝这条语句。 – 2014-11-21 07:26:51
是的。我只写了MYSQL的查询。 – 2014-11-21 08:10:52
这是你在找什么:
SELECT class,
stShirtColor,
Count(*) AS NumberOfTshirts
FROM yourtable
WHERE class IN(2, 3, 4)
GROUP BY class,stShirtColor
where
条款将过滤出来的结果,因为你需要什么,group by
将使class,stShirtColor
组合的组,并最终COUNT(*)会给你算这样的组。
确定其简单。告诉我们你现在拥有什么,我们会尝试纠正它? – SMA 2014-11-21 07:02:26
我知道CASE将在这里使用,但没有做任何事情,因为我不知道如何使用增量在sql – Prashant 2014-11-21 07:09:02
好吧,会有许多类似的问题,所以尝试搜索和定制它,如果需要。如果你仍然没有得到它,在这里发布。 – SMA 2014-11-21 07:13:02