SQL 具有内部连接和 where between 的复杂查询

SQL Complex query with inner join and where between

我无法理解为什么我的查询不起作用并且我已经搜索了现有主题。 我的目标 我正在尝试显示我 MySQL.

中选定时间段内排名前 5 位的投诉类型

预期结果 table 5 行,第一列显示 COUNT,第二列显示我的票证类型的描述

查询我正在使用哪个returns错误

SELECT
  COUNT(t.ticketType) AS total_amount, 
  tt.typeTekst AS description
  FROM Ticket t
  WHERE t.ticketStartTime BETWEEN 1612443540 AND 1613393340
  INNER JOIN TicketType tt ON t.ticketType = tt.typeId
  GROUP BY description
  ORDER BY total_amount desc
  LIMIT 5

类似的查询有效 - 但不符合我的期望

Table 没有正确的机票描述

SELECT
  COUNT(t.ticketType) AS total_amount, 
  t.ticketType AS description
  FROM Ticket t
  WHERE t.ticketStartTime BETWEEN 1612443540 AND 1613393340
  GROUP BY description
  ORDER BY total_amount desc
  LIMIT 5
total_amount description
4 7
3 6
2 10
2 5
1 30

Table 没有选择的时间段,但是有描述

SELECT
  COUNT(t.ticketType) AS total_amount,
  tt.typeDescription AS description
  FROM Ticket t
  INNER JOIN TicketType AS tt ON t.ticketType = tt.typeId 
  GROUP BY description
  ORDER BY total_amount desc
  LIMIT 5

total_amount description
31 TicketType Placeholder A
10 TicketType Placeholder B
8 TicketType Placeholder C
5 TicketType Placeholder D
4 TicketType Placeholder E

感谢您的宝贵时间!

连接所有表后使用where子句。请尝试以下查询:

SELECT
  COUNT(t.ticketType) AS total_amount, 
  tt.typeTekst AS description
  FROM Ticket t
  INNER JOIN TicketType tt ON t.ticketType = tt.typeId
  WHERE t.ticketStartTime BETWEEN 1612443540 AND 1613393340
  GROUP BY description
  ORDER BY total_amount desc
  LIMIT 5