的数我有一个表,其结构如下取名称时不同的名称小于200的MySQL
╔════════╦══════════╦════════════╗
║ app_id ║ app_name ║ categoryId ║
╠════════╬══════════╬════════════╣
║ 1200 ║ A ║ B ║
║ 1200 ║ A ║ C ║
║ 1200 ║ A ║ D ║
║ 1201 ║ E ║ F ║
║ 1201 ║ E ║ G ║
╚════════╩══════════╩════════════╝
现在我有1600点这样的数据。我试图得到的是一个查询来获取数据,直到不同appid的数量达到200.达到200后,它不应该获取其余的数据。我试过count(distinct(app_id)),但这似乎并不按我想的方式工作。我非常震惊,这是一个主要的性能问题。任何帮助深表感谢。提前致谢。
'COUNT(DISTINCT APP_ID)'始终是1,因为查询执行'GROUP BY app_id'。因此,这个查询只是获取表中包含的所有'app_id'值。 –
谢谢拉胡尔,像一个魅力工作。我稍微修改了查询以满足我的要求,并且它的工作非常完美。非常感谢:) –
@SathiyaNarayanan我看不出这个查询可能如何工作。 'HAVING'子句中的'COUNT(distinct app_id)'总是'1'。如果我错了,请纠正我。 –