diff --git src/wp-includes/comment.php src/wp-includes/comment.php
index a4cc7e2..2053293 100644
--- src/wp-includes/comment.php
+++ src/wp-includes/comment.php
@@ -249,6 +249,8 @@ class WP_Comment_Query {
 			'author_email' => '',
 			'fields' => '',
 			'ID' => '',
+			'comment_id__in' => '',
+			'comment_id__not_in' => '',
 			'karma' => '',
 			'number' => '',
 			'offset' => '',
@@ -257,6 +259,8 @@ class WP_Comment_Query {
 			'parent' => '',
 			'post_ID' => '',
 			'post_id' => 0,
+			'post_id__in' => '',
+			'post_id__not_in' => '',
 			'post_author' => '',
 			'post_name' => '',
 			'post_parent' => '',
@@ -389,6 +393,22 @@ class WP_Comment_Query {
 			$where .= $wpdb->prepare( ' AND comment_post_ID = %d', $post_id );
 		}
 
+		if ( ! empty( $this->query_vars['comment_id__in'] ) ) {
+			$where .= ' AND comment_ID IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['comment_id__in'] ) ) . ' )';
+		}
+
+		if ( ! empty( $this->query_vars['comment_id__not_in'] ) ) {
+			$where .= ' AND comment_ID NOT IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['comment_id__not_in'] ) ) . ' )';
+		}
+
+		if ( ! empty( $this->query_vars['post_id__in'] ) ) {
+			$where .= ' AND comment_post_ID IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['post_id__in'] ) ) . ' )';
+		}
+
+		if ( ! empty( $this->query_vars['post_id__not_in'] ) ) {
+			$where .= ' AND comment_post_ID NOT IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['post_id__not_in'] ) ) . ' )';
+		}
+
 		if ( '' !== $this->query_vars['author_email'] ) {
 			$where .= $wpdb->prepare( ' AND comment_author_email = %s', $this->query_vars['author_email'] );
 		}
diff --git tests/phpunit/tests/comment/query.php tests/phpunit/tests/comment/query.php
index 51140a7..f413fc2 100644
--- tests/phpunit/tests/comment/query.php
+++ tests/phpunit/tests/comment/query.php
@@ -198,4 +198,76 @@ class Tests_Comment_Query extends WP_UnitTestCase {
 		$this->assertCount( 3, $comment_ids );
 		$this->assertEqualSets( array( $comment_1, $comment_2, $comment_3 ), $comment_ids );
 	}
+
+	/**
+	 * @ticket
+	 */
+	function test_fields_comment_id__in() {
+		$comment_1 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 7, 'comment_approved' => '1' ) );
+		$comment_2 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 1, 'comment_approved' => '1' ) );
+		$comment_3 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 1, 'comment_approved' => '1' ) );
+
+		$comment_ids = get_comments( array(
+			'fields' => 'ids',
+			'comment_id__in' => array( $comment_1, $comment_3 ),
+		) );
+
+		$this->assertEqualSets( array( $comment_1, $comment_3 ), $comment_ids );
+	}
+
+	/**
+	 * @ticket
+	 */
+	function test_fields_comment_id__not_in() {
+		$comment_1 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 7, 'comment_approved' => '1' ) );
+		$comment_2 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 1, 'comment_approved' => '1' ) );
+		$comment_3 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 1, 'comment_approved' => '1' ) );
+
+		$comment_ids = get_comments( array(
+			'fields' => 'ids',
+			'comment_id__not_in' => array( $comment_2, $comment_3 ),
+		) );
+
+		$this->assertEqualSets( array( $comment_1 ), $comment_ids );
+	}
+
+	/**
+	 * @ticket
+	 */
+	function test_fields_post_id__in() {
+		$p1 = $this->factory->post->create();
+		$p2 = $this->factory->post->create();
+		$p3 = $this->factory->post->create();
+
+		$c1 = $this->factory->comment->create( array( 'comment_post_ID' => $p1, 'user_id' => 7, 'comment_approved' => '1' ) );
+		$c2 = $this->factory->comment->create( array( 'comment_post_ID' => $p2, 'user_id' => 1, 'comment_approved' => '1' ) );
+		$c3 = $this->factory->comment->create( array( 'comment_post_ID' => $p3, 'user_id' => 1, 'comment_approved' => '1' ) );
+
+		$comment_ids = get_comments( array(
+			'fields' => 'ids',
+			'post_id__in' => array( $p1, $p2 ),
+		) );
+
+		$this->assertEqualSets( array( $c1, $c2 ), $comment_ids );
+	}
+
+	/**
+	 * @ticket
+	 */
+	function test_fields_post_id__not_in() {
+		$p1 = $this->factory->post->create();
+		$p2 = $this->factory->post->create();
+		$p3 = $this->factory->post->create();
+
+		$c1 = $this->factory->comment->create( array( 'comment_post_ID' => $p1, 'user_id' => 7, 'comment_approved' => '1' ) );
+		$c2 = $this->factory->comment->create( array( 'comment_post_ID' => $p2, 'user_id' => 1, 'comment_approved' => '1' ) );
+		$c3 = $this->factory->comment->create( array( 'comment_post_ID' => $p3, 'user_id' => 1, 'comment_approved' => '1' ) );
+
+		$comment_ids = get_comments( array(
+			'fields' => 'ids',
+			'post_id__not_in' => array( $p1, $p2 ),
+		) );
+
+		$this->assertEqualSets( array( $c3 ), $comment_ids );
+	}
 }
