gpt4 book ai didi

mysql - 如何使用连接表并通过选择查询进行计数

转载 作者:行者123 更新时间:2023-11-29 00:10:16 25 4
gpt4 key购买 nike

我不擅长复杂的 sql 查询,所以我发布了这个问题,如果你能帮助我,我会很高兴。

我有 2 个表。第一个是 idea_box,第二个是 idea_box_voting。现在首先我想加入两个表,然后我想计算那里 id 的总数 0 和 1。这是我的两张 table 。

idea_box
--------

Idea_id property_id idea_title the_idea user_id
25 0 Idea 25 Lorem 23
24 0 Idea 24 Lorem 23
23 0 Idea 23 Lorem 23
22 0 Idea 22 Lorem 23
21 0 Idea 21 Lorem 23
20 0 Idea 20 Lorem 23

idea_box_voting
---------------

vote_id idea_id ip user_id thumbs
37 25 192.168.1.14 23 1
44 25 192.168.1.14 23 1
47 25 192.168.1.14 23 0
40 25 192.168.1.14 23 1
41 24 192.168.1.14 23 1
38 24 192.168.1.14 23 0
45 24 192.168.1.14 23 1
39 23 192.168.1.14 23 1
46 23 192.168.1.14 23 0
42 23 192.168.1.14 23 0
43 22 192.168.1.14 23 1

我想要这个输出:

Idea_id property_id     idea_title  the_idea    user_id one_count zero_count
25 0 Idea 25 Lorem 23 3 1
24 0 Idea 24 Lorem 23 2 1
23 0 Idea 23 Lorem 23 1 2
22 0 Idea 22 Lorem 23 1 0
21 0 Idea 21 Lorem 23 0 0
20 0 Idea 20 Lorem 23 0 0

谢谢。

最佳答案

SELECT ib.*,
(
SELECT COUNT(*)
FROM idea_box_voting ibv
WHERE ibv.idea_id = ib.idea_id AND ibv.thumbs = 1
) AS one_count,
(
SELECT COUNT(*)
FROM idea_box_voting ibv
WHERE ibv.idea_id = ib.idea_id AND ibv.thumbs = 0
) AS zero_count
FROM idea_box ib

关于mysql - 如何使用连接表并通过选择查询进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25520859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com