的數我有一個表,其結構如下取名稱時不同的名稱小於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'。如果我錯了,請糾正我。 –