2016-11-15 5 views
0

この質問は何度か尋ねられましたが、私は答えを得ることができませんでした。GROUPからNULL値を取り除くMySQL

「トロント」テーブルには、すべてのアメニティ(レストランなど)が記載されており、いくつかのアメニティ(スイスシャレーなど)の名前が記載されています。私はすべてのレストランを一意の名前でグループ化し、降順で並べ替える必要があります。ただし、IS NOT NULLIFNULLを使用した後でも、NULL値を削除できません。

query = '''SELECT `name`, COUNT(`name`) AS Amen FROM `toronto` WHERE `name` IS NOT NULL and `amenity` like `restaurant` GROUP BY IFNULL(`name`,0) ORDER BY Amen DESC LIMIT 5;''' 
cursor.execute (query) 

そして、次のような結果になっています:私は '内のすべてのNULL値のグループである第二の結果を、削除するにはどうすればよい

(('Swiss Chalet', 56), ('', 52), ('Sunset Grill', 30), ('Boston Pizza', 25), ("Wimpy's Diner", 17)) 

を私は次のクエリを使用しています

名前 '列? TIA

PS:私は、それはnull値ではありませんDB

+0

のMySQL 5.6を使用して、あなたが任意のワイルドカードを使用していない場合は、アメニティ、フィールド上の 'LIKE'を使用しているなぜ私は:) – e4c5

+0

を信じますか? –

+0

@LelioFaieta大きな質問から主な問題を強調してコピーしました。それを指摘してくれてありがとう。私は実際に一連のアメニティを使用しています。そしてOpen Street Mapから解析されたデータをクエリします。だからそれはレストランやレストランになることができます:) – chhibbz

答えて

1

を照会するpymysqlを使用しています。あなたが追加する必要がありますので、それは、ブランク値である:

... WHERE `name` IS NOT NULL and name != ''... 
+0

うわー..それは働いた!ありがとうございました@Jens – chhibbz

+0

@chhibbzようこそ – Jens

関連する問題