我的数据和表格如下:
+------+------------+-----------+--------------+------------+----------+-------------+
| sr | thread_id | thread_no | client_name | date | time | status |
+------+------------+-----------+--------------+------------+----------+-------------+
| 871 | 1281473902 | 0 | Demo Company | 2011-01-17 | 16:53:00 | Closed |
| 1179 | 1269343346 | 0 | Demo Company | 2010-03-23 | 11:22:00 | Open |
| 1180 | 1269343585 | 0 | Demo Company | 2010-03-23 | 11:26:00 | Closed |
| 1181 | 1269343679 | 0 | Demo Company | 2010-03-23 | 11:27:00 | Open |
| 1182 | 1269343835 | 0 | Demo Company | 2010-03-23 | 11:30:00 | Open |
| 2392 | 1295285762 | 0 | Demo Company | 2011-01-17 | 17:35:00 | Closed |
| 2393 | 1295286578 | 0 | Demo Company | 2011-01-18 | 08:01:00 | Open |
| 2526 | 1299764352 | 0 | Demo Company | 2011-04-29 | 11:01:00 | Closed |
| 8727 | 1299764352 | 1 | Demo Company | 2011-06-16 | 09:31:00 | Closed |
| 8728 | 1299764352 | 2 | Demo Company | 2011-06-16 | 09:56:00 | Closed |
| 8729 | 1299764352 | 3 | Demo Company | 2011-06-16 | 09:57:00 | Closed |
| 8731 | 1308234742 | 0 | Demo Company | 2011-06-16 | 10:31:00 | Open |
| 8734 | 1308236479 | 0 | Demo Company | 2011-06-16 | 11:00:00 | Open-Urgent |
| 8735 | 1308236519 | 0 | Demo Company | 2011-06-16 | 11:01:00 | On Hold |
| 8736 | 1308236519 | 1 | Demo Company | 2011-06-16 | 11:02:00 | Closed |
| 8740 | 1308242129 | 0 | Demo Company | 2011-06-16 | 12:34:00 | Closed |
| 8796 | 1308242129 | 1 | Demo Company | 2011-06-24 | 06:27:00 | Closed |
| 8798 | 1308242129 | 2 | Demo Company | 2011-06-24 | 07:43:00 | Open |
| 8799 | 1308242129 | 3 | Demo Company | 2011-06-24 | 07:44:00 | Open |
+------+------------+-----------+--------------+------------+----------+-------------+
Run Code Online (Sandbox Code Playgroud)
我需要选择带有DISTINCT thread_id的ROWS并为该不同的thread_id设置最高的thread_no值
例如,对于thread_id 1299764352,我需要选择sr = 8729的行
我可以得到的关闭是这个查询:
SELECT sr, thread_id, max(thread_no) as thread_no, client_name, date, time, status
FROM table
group by thread_id
order by sr
Run Code Online (Sandbox Code Playgroud)
但是这个查询给了我thread_no = 0的行,而不是thread_no值最高的行
我希望我能够很好地解释.
请帮忙.
Thx Vai
我想以下查询是你需要的:
SELECT * FROM table AS a
WHERE NOT EXISTS (
SELECT * FROM table AS b
WHERE b.thread_id = a.thread_id AND b.thread_no > a.thread_no )
Run Code Online (Sandbox Code Playgroud)