MySQL从GROUP BY中删除NULL值

时间:2016-11-15 10:16:14

标签: mysql null pymysql

我知道这个问题已被问过几次,但我找不到答案。

我有一个带有'toronto'表的数据库,其中提到了所有的设施(例如餐厅),以及一些设施的名称(例如瑞士木屋)。我想用唯一的名称对所有餐馆进行分组,并按降序排列。但是,即使使用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)

我得到以下结果:

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

如何删除第二个结果,即'name'列中所有NULL值的组? TIA

ps:我正在使用pymysql查询数据库

1 个答案:

答案 0 :(得分:1)

它不是null值。这是一个空白值,因此您应该添加:

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