2016-11-10 9 views
0

私はmysqlデータベースにテーブルを持っています。テーブル 'sell_stats'mysqlの条件が他と等しくないselect文

+-------------------+-----------+--------+ 
| id | max_price | sell_price| orders | 
+-------------------+-----------+--------+ 
| 1 | 120  | 110  | 1  | 
| 2 | 324  | 324  | 0  | 
| 3 | 445  | 445  | 1  | 
| 4 | 654  | 654  | 1  | 
| 5 | 657  | 657  | 0  | 
| 6 | 456  | 456  | 2  | 
+-----------------+-------------+--------+ 

私はその

select * from sell_stats where max_price != sell_price; 

ため、このクエリを書いた

ものでMAX_PRICE!= sell_priceこれらの列を見つけたいが、私はエラー

を取得しています
ERROR 1111 (HY000): Invalid use of group function. 

私はidでグループ化しようとしましたが、同じエラーまで。

select * from sell_stats where max_price != sell_price group by id; 

これで私を助けてください。

+2

私はあなたが書いたクエリからそのエラーを取得することができますどのように表示されません。グループ関数は 'MAX()'、 'COUNT()'、 'GROUP_CONCAT()'のようなものです。 – Barmar

+1

クエリは正常に動作します。http://www.sqlfiddle.com/#!9/7a302/1 – Barmar

+1

@ Barmarと同意します。私はこのエラーではなく、他のクエリから発生したエラーを推測します。 – Hermanto

答えて

-2

これを試してみてください:

select * from sell_stats where max_price <> sell_price; 
+1

なぜそれが違うのでしょうか? '!='と '<>'は同じ意味です。 – Barmar

+0

確かに、私は通常 '<>'を使いますが、私はこの文が正しいことを知っています。 – FDavidov

+0

しかし、なぜ '!='を使うとグループ関数についてエラーが発生するのでしょうか? – Barmar

関連する問題