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
我无法理解为什么我的查询不起作用并且我已经搜索了现有主题。 我的目标 我正在尝试显示我 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