【问题标题】:MySQL count of count, use result from one table with anotherMySQL count of count,将一张表的结果与另一张表一起使用
【发布时间】:2015-01-12 20:22:01
【问题描述】:

我是来问这个问题的实现的 MYSQL count of count?

我的问题是将我从一个表中提取结果的结果联系起来,使用它们查询同一数据库的另一个表 (对不起,我不是强大的 xySQL).

我有一个名为 ticketdb 的 MySQL 数据库,我需要根据 table2 (poststb) 上的计数从 table1 (tickettb) 中提取数据

场景: 更准确地说,票中的帖子有回复,我需要离开 poststb 表,所有票只计算 2 个帖子。 根据该结果,我需要从 tickettb 表中提取所有相应的票证。 你可能猜到,poststb 只包含工单标识、发帖日期、主题和消息,所有其他用户信息都在工单中。

到目前为止,我成功(感谢上面的帖子)从poststb中提取了两个回复的帖子,但是由于他们在游戏中输入了别名,所以我被卡住了。

代码是这样的

SELECT PostsOfTheGivenTicket, TicketIdentification 
FROM (SELECT posttb.ticket_id, COUNT(posttb.ticket_id) AS 
             PostsOfTheGivenTicket, posttb.ticket_id as TicketIdentification 
      FROM posttb GROUP BY posttb.ticket_id 
      HAVING PostsOfTheGivenTicket= 2) AS TemporaryTable

(也许这不是我目标的最佳选择,所以感谢您的任何确认)

无论如何,经过测试,它只返回所有 83 张票和 2 条消息

上面查询的结果如下一个

 PostsOfTheGivenTicket    TicketIdentification 
 2                        1234
 2                        1451
 2                        1526

并且看起来它被分配给了临时/别名表TemporaryTable(是吗?如何重用它?)

在 tickettb 表中,我有一列名称已设置为 IdTicket,它存储相同的值

IdTicket  UserName UserPhone UserEmail etc etc
1234
....
1451
....
1526

换句话说,我的目标是提取(最终在网络服务器上)与匹配票证相关的所有票证详细信息

SELECT from tickettb every ticket with IdTicket equal to TicketIdentification

是否可以将上述查询嵌套到另一个实现目标的查询中?

在最终目标时,会转而选择并删除部分票证,其中包含 2 条消息,例如仅限超过 10 天的。

【问题讨论】:

    标签: mysql sql select


    【解决方案1】:
    SELECT * FROM ticketb WHERE IdTicket IN
    (
          SELECT ticket_id
          FROM posttb 
          GROUP BY ticket_id 
          HAVING COUNT(ticket_id) = 2
    )
    

    【讨论】:

    • 所以我走在一条完全错误的道路上,我发现我错过了一个基本知识:-|。谢谢。
    • 没问题。您可以在此处找到有关子查询的一些有用信息:sql-ex.ru/help/select7.php#where
    • 真正详尽、全面且有用的链接!已收藏。
    猜你喜欢
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多