Alasan ia mengembalikan nol baris adalah karena Anda mengelompokkan nilai dalam table_1. Karena tidak ada nilai dalam table_1, tidak ada baris untuk dikembalikan. Dengan kata lain, jika Anda mengembalikan t1.any_col dalam kueri Anda dari GROUP BY seperti ini:
SELECT `t1`.`any_col`, COUNT(`t2`.`name`)
FROM `table_1` `t1`
LEFT JOIN `table_2` `t2` ON `t1`.`key_id` = `t2`.`key_id`
WHERE `t1`.`another_column` = 123
GROUP BY `t1`.`any_col`
Apa yang akan ditampilkan untuk t1.any_col ketika tidak ada baris? Satu-satunya cara untuk mencapai apa yang Anda inginkan adalah menyatukan hasil Anda dengan kueri lain yang memeriksa tidak ada baris di table_1. Dalam contoh ini, saya menggunakan tampilan INFORMATION_SCHEMA hanya untuk memiliki sesuatu yang dapat saya kueri.
SELECT COUNT(`t2`.`name`)
FROM `table_1` `t1`
LEFT JOIN `table_2` `t2` ON `t1`.`key_id` = `t2`.`key_id`
WHERE `t1`.`another_column` = 123
GROUP BY `t1`.`any_col`
UNION ALL
SELECT 0
FROM INFORMATION_SCHEMA.TABLES
Where Not Exists( Select 1 From `table_1` )
LIMIT 1