0

「評価」という名前のフィールドを持つテーブルがあるとします。値は異なる場合がありますが、特定の値の数を取得したいと考えています。

例:

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

まず、私が考えることができる明白な方法は次のとおりです。

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

問題は、返される値の数が明確ではありませんが、それらを処理するのも簡単ではない可能性があります。

私が本当にやりたいことは、特定の値を持つレコードの数を示す 1 つの行で 2 つのフィールドを選択することです。

例...

//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 に答える