0

假设我有一个表,其中有一个名为“rating”的字段,它可能采用不同的值,但我想接收特定值的计数。

例子:

Create table mytable(
    rating int(1),
);

首先,我能想到的明显方式如下:

select rating,count(rating) from mytable group by rating order by rating

这个问题虽然不清楚它会返回多少个值,但处理它们也可能不容易。

我真正想做的是在一行中选择两个字段,显示具有某些特定值的记录数。

例子...

//something like this (some pseudocode):

select count(rating=-1) as rating1, count (rating=1) as rating2 from mytable

您能否就我可以以上述 ^ 格式选择的一些巧妙方法提出建议?

4

1 回答 1

1
select SUM(IF(rating=-1,1,0)) AS rating1, 
   SUM(IF(rating=1,1,0)) AS rating2 from mytable
于 2012-08-07T08:31:39.080 回答