如何在 mysql 中使用单个查询从另一个 table(没有数据时为零)获取计数?
How to get count from another table (zero when no data) using single query in mysql?
我有两个 tables - 'Offered' 和 'joined'。我需要从加入的 table 中计数 'offered_id',如果找不到则为零。我的 tables 和所需的输出如下。如何使用 mysql 中的单个查询实现此目的?
TABLE : OFFERED
===============
offered_id data
----------- ----
1 aaaa
2 bbbb
3 cccc
4 dddd
5 eeee
6 ffff
TABLE : JOINED
===============
joined_id offered_id
----------- ----------
1 5
2 2
3 2
4 1
5 3
6 2
7 5
OUTPUT REQUIRED
===============
offered_id data count(offered_id) from joined table.(0 for no entry)
----------- ----- ------------------------------------------------
1 aaaa 1
2 bbbb 3
3 cccc 1
4 dddd 0
5 eeee 1
6 ffff 0
使用子查询你可以实现...
SELECT OFFERED.offered_id, OFFERED.data, (SELECT COUNT(JOINED.joined_id) FROM JOINED WHERE JOINED.offered_id = OFFERED.offered_id) AS count_joined FROM OFFERED
使用count
:
SELECT OFFERED.OFFERED_id,OFFERED.data,(select count(JOINED.joined_id) FROM JOINED INNER JOIN OFFERED
ON JOINED.offered_id = OFFERED.offered_id) as count_joined FROM OFFERED
试一试它可以帮助我为我的项目实现同样的目标,它一定会对你有所帮助。
SELECT offered_id FROM OFFERED WHERE offered_id IN (SELECT DISTINCT offered_id FROM JOINED)
我有两个 tables - 'Offered' 和 'joined'。我需要从加入的 table 中计数 'offered_id',如果找不到则为零。我的 tables 和所需的输出如下。如何使用 mysql 中的单个查询实现此目的?
TABLE : OFFERED
===============
offered_id data
----------- ----
1 aaaa
2 bbbb
3 cccc
4 dddd
5 eeee
6 ffff
TABLE : JOINED
===============
joined_id offered_id
----------- ----------
1 5
2 2
3 2
4 1
5 3
6 2
7 5
OUTPUT REQUIRED
===============
offered_id data count(offered_id) from joined table.(0 for no entry)
----------- ----- ------------------------------------------------
1 aaaa 1
2 bbbb 3
3 cccc 1
4 dddd 0
5 eeee 1
6 ffff 0
使用子查询你可以实现...
SELECT OFFERED.offered_id, OFFERED.data, (SELECT COUNT(JOINED.joined_id) FROM JOINED WHERE JOINED.offered_id = OFFERED.offered_id) AS count_joined FROM OFFERED
使用count
:
SELECT OFFERED.OFFERED_id,OFFERED.data,(select count(JOINED.joined_id) FROM JOINED INNER JOIN OFFERED
ON JOINED.offered_id = OFFERED.offered_id) as count_joined FROM OFFERED
试一试它可以帮助我为我的项目实现同样的目标,它一定会对你有所帮助。
SELECT offered_id FROM OFFERED WHERE offered_id IN (SELECT DISTINCT offered_id FROM JOINED)