【发布时间】:2021-05-25 19:01:47
【问题描述】:
我无法理解为什么我的查询不起作用,而且我已经搜索了现有的主题。 我的目标 我正在尝试从我的 MySQL 中显示选定时间段内排名前 5 位的投诉类型。
预期结果 一个 5 行的表格,第一列显示 COUNT,第二列显示我的 Ticket Type 的描述
我正在使用的查询返回错误
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
类似查询有效,但不符合我的期望
没有正确的工单描述的表格
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 |
表格没有选定的时间段,但有说明
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是跟在FROM子句之后的SQL 子句。JOIN是FROM子句中的运算符。
标签: mysql sql join group-by where-clause